با سپاس فراوان از آقا امید؛ من یه کمبوباکس مانند عکس زیر طراحی کردم. و میخواستم که قبل از اینکه صفحهی اتوران اجرا بشه (Page1> On Preload)، یه مقدار ریجستری دریافت بشه و بنابر مقدار اون ریجستری، آیتمی که در کمبوباکس انتخاب شده در حالت Selected قرار بگیره.
کد رو به صورت زیر نوشتم اما هر وقت اتوران رو اجرا میکنم، کمبوباکس عمل نمیکنه و در واقع، همیشه مقدار Index 1 رو در حالت Selected به نمایش در میاره (در صورتی که باید بر اساس مقدار ریجستری خوانده شده، آیتمهای کمبوباکس رو در حالت Selected قرار بده!)
[PHP]WarningLevel = Registry.GetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\ESET\\ESET Security\\CurrentVersion\\Plugins\\01000600\\Profi les\\@My profile", "WUWarningLevel", true);
if (WarningLevel == "00000000") then
ComboBox.SetSelected("ComboBox1", 1);
elseif (WarningLevel == "00000001") then
ComboBox.SetSelected("ComboBox1", 2);
elseif (WarningLevel == "00000002") then
ComboBox.SetSelected("ComboBox1", 3);
elseif (WarningLevel == "00000003") then
ComboBox.SetSelected("ComboBox1", 4);
elseif (WarningLevel == "00000004") then
ComboBox.SetSelected("ComboBox1", 5)
end[/PHP]
این عملیات (خواندن مقدار ریحستری و تصمیمگیری طبق اون) رو برای چند تا از Button های موجود در پروژهام هم انجام دادم و مشکلی نبوده و فقط در مورد کمبوباکس به مشکل برخودم.
مسیر فایلهای ریجستری هم براتون پیوست میکنم تا شاید شما راهنماییم کنید مشکل از کجاست:
کد:
http://up.persianscript.ir/uploads/28cd-ESET-OS-Updates-Notification.zip