ekograce Ответов: 1

Проблема Windowsapicodepack taskdialog в windows framework 4.6.1


Всем Привет,

Недавно я обновил свое настольное приложение winform с framework 4.0 до 4.6.1.
Я использую microsoft.windowsapicodepack.taskdialog для большей части моего всплывающего окна сообщений.

Он больше не работает в 4.6.1.
У меня есть система.OverflowException: 'арифметическая операция привела к ошибке переполнения.' во время td.show.


Это то, что я знаю, ошибка происходит только в том случае, если я строю проект в 64-битной версии, никаких проблем не найдено в 32-битной версии.
Кроме того, ошибка возникает только тогда, когда я добавляю свои собственные пользовательские элементы управления.
td.controls.add(commandlink1).
Если я не добавляю никаких элементов управления, он все еще работает, даже в 64-битной версии.

Есть ли какой-то обходной путь или решение для этого?
Огромное спасибо

Что я уже пробовал:

td = New TaskDialog() 
td.InstructionText = "my question"
td.Caption = "my tile"
td.StandardButtons = TaskDialogStandardButtons.Yes Or TaskDialogStandardButtons.No
td.Text = "question caption"
td.Icon = TaskDialogStandardIcon.None
td.StartupLocation = TaskDialogStartupLocation.CenterScreen

cl1 = New TaskDialogCommandLink("cl1", "Option 1", "Caption 1")
cl2 = New TaskDialogCommandLink("cl2", "Option 2", "Caption 2")

td.Controls.Add(cl1)
td.Controls.Add(cl2)

td.OwnerWindowHandle = currentform.Handle
td.show()

Sandeep Mewara

Вы пробовали: https://www.nuget.org/packages/Microsoft-WindowsAPICodePack-Core/

ekograce

Сандип, большое тебе спасибо, решено :)
Я использовал версию 1.0.0.

Sandeep Mewara

Круто - добавлю это в качестве ответа на закрытие вопроса.

1 Ответов

Рейтинг:
12

Sandeep Mewara

Попробуйте использовать более новую версию WindowsAPICodePack, и это должно помочь решить вашу проблему.

Новый WindowsAPICodePack, поддерживающий .NET framework v4.6.1: NuGet Gallery | Microsoft-WindowsAPICodePack-Core 1.1.4[^]

Попробуйте!