PDA

View Full Version : سوال: انتخاب نبودن هیچ گزینه ای در کمبوباکس در اجرای اولیه



sajjad_kochekian
پنج شنبه 30 بهمن 1393, 13:28 عصر
با سلام
در کمبوباکس همیشه وقتی برنامه را اجرا می کنیم مقدار را همیشه انتخاب کرده و برای حل این مشکل همیشه در دستور select ابتدا با یک سطر خالی یونیون می کنم که در صورتی ابتدای برنامه کمبو خالی باشد و در صورتی که کاربر مقداری را اشتباه انتخاب کرد و خواست آن مقدار را حذف کند با انتخاب اولین گزینه مشکل حل می شود.
آیا روشی اصولی تر برای این کار وجود داره؟
نمونه
128632

MRasoul
پنج شنبه 30 بهمن 1393, 23:48 عصر
میشه یکم بهتر سوالت رو بگی؟
میخوای وقتی برنامه اجرا میشه موردی انتخاب شده باشه یا نشده باشه؟

boxochi
جمعه 01 اسفند 1393, 01:48 صبح
دلیلش اینه که خاصیت SelectedIndex در حالت default روی -1 است
روش اول: در form loaded این تکه کد رو وارد کنی:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
combo.SelectedIndex = 0;
}


روش دوم: از قسمت properties به سربرگ common بری و خاصیت SelectedIndex که روی -1 تنظیم هست رو به 0 تغییر بدی

128655

MRasoul
جمعه 01 اسفند 1393, 16:09 عصر
میتونی هم توی خود کدهای طراحی اینجور بنویسی
<ComboBox Name="combo1" SelectedIndex="0"/>

sajjad_kochekian
شنبه 02 اسفند 1393, 09:25 صبح
هیچ کدوم روش ها جواب نداد. و دوباره اولین آیتم را انتخاب می کنه.
در ضمن این کمبو چون در کل برنامه قراره استفاده بشه من از آن یک UserControl ساختم.
با اعمال دستور SelectedIndex="0"
128695

Mori Bone
شنبه 02 اسفند 1393, 09:55 صبح
<ComboBox Name="combo1" SelectedIndex="-1"/>

sajjad_kochekian
شنبه 02 اسفند 1393, 10:18 صبح
<ComboBox Name="combo1" SelectedIndex="-1"/>





سلام دوست عزیز جواب نداد.
<ComboBox x:Name="Employee" MinWidth="100" Height="25" SelectedIndex="-1"/>

Mori Bone
شنبه 02 اسفند 1393, 17:14 عصر
سلام دوست عزیز جواب نداد.
<ComboBox x:Name="Employee" MinWidth="100" Height="25" SelectedIndex="-1"/>

این روش باس جواب بده. شاید شما جایی از کدتون اندیسی از کمبو باکس رو سلکت میکنید!!!!!:متفکر:

sajjad_kochekian
دوشنبه 04 اسفند 1393, 10:32 صبح
نه هیچ جایی مقدار دهی نمی شه مگر بعد از جستجو
ولی مشکل من اینه که هنگام باز شدن فرم که هنوز جستجویی انجام نشده اینجور هست.
در ضمن اگر کاربر مقداری از کمبو انتخاب کرد بعد خواست که هیچ گزینه ای انتخاب نباشه باید چه کار کرد؟
<ComboBox x:Name="Employee" MinWidth="100" Height="25" SelectedIndex="-1"
DisplayMemberPath="DisplayValue" SelectedValuePath="SelectedValue" ItemsSource="{Binding Source={StaticResource Employeevs}}"/>

در ضمن من این کمبو را داخل User Control تعریف کردم. مشکلی که نداره؟

SabaSabouhi
دوشنبه 04 اسفند 1393, 13:01 عصر
نه هیچ جایی مقدار دهی نمی شه مگر بعد از جستجو
ولی مشکل من اینه که هنگام باز شدن فرم که هنوز جستجویی انجام نشده اینجور هست.
در ضمن اگر کاربر مقداری از کمبو انتخاب کرد بعد خواست که هیچ گزینه ای انتخاب نباشه باید چه کار کرد؟
<ComboBox x:Name="Employee" MinWidth="100" Height="25" SelectedIndex="-1"
DisplayMemberPath="DisplayValue" SelectedValuePath="SelectedValue" ItemsSource="{Binding Source={StaticResource Employeevs}}"/>

در ضمن من این کمبو را داخل User Control تعریف کردم. مشکلی که نداره؟

سلام
روش من اینه که تو ItemsSource همیشه یه رکورد به شکل « '---', 0» قرار می‌دم که به معنی خالی بود انتخاب هست.
و تو load هم combo رو مقدار دهی می‌کنم.

صبا صبوحی

sajjad_kochekian
دوشنبه 04 اسفند 1393, 21:44 عصر
خب منم همین کار را می کنم می خواستم بدونم روش استانداردی دیگه ای هم هست.که ظاهرا نیست

elec60
دوشنبه 04 اسفند 1393, 22:35 عصر
من تو رویداد کلیک راست کمبوباکس SelectedIbdex رو ۱- می کنم تا اگه کاربر بخواد کمبوباکس هیچ آیتمی رو انتخاب نکنه(از حالت انتخاب خارج کنه) با کلیک راست روش این کار رو انجام بده