مشکل اجرای خود به خود رویداد Selection Change برای ComboBox در سی شارپ
توی یک پروژه توی رویداد SelectionChange برای یک کمبوباکس دیدیم برای این رویداد که اتفاق نیوفتاده میاد کد های مربوط به این رویداد رو اجرا میکنه
همین مشکل برای رویداد Selection Change دیتاگرید هم هست!
برای حل این مشکل Selection Change اتفاق نیوفتاده رو چطور حل کنم ؟
ببینید در حالت معمول نباید این طور که شما میفرمایید بشه. بنظرم پنجره خودتون رو حذف کنید و مجدد یک پنجره جدید ایجاد کنید و یک ComboBox قرار بدید. ببینید من دقیقا کدهای شما رو از لینکی که قرار دادید کپی کردم و برنامه رو اجرا کردم و هیچ پیامی هم ظاهر نمیشه :
کدهای xaml
<ComboBox x:Name="Cmb_Anbar" HorizontalAlignment="Left" Margin="192,112,0,0" VerticalAlignment="Top" Width="123" Height="30" FlowDirection="RightToLeft" SelectedIndex="0" IsEditable="True" SelectionChanged="Cmb_Anbar_SelectionChanged">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling"/>
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
کدهای سی شارپ
private void Cmb_Anbar_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show("salam");
}
پنجره طراحی
پروژه بعد از اجرا بدون پیام
سعی کنید خاصیت SelectedIndex برابر با 0 نباشه برای این کنترل
https://www.quora.com/Why-does-the-SelectionChange-event-run-when-it-did-not-happen-in-C
سپاس گزارم
بررسی کردم Selection Change در واقع اتفاق می افتد در صورتی که Selected Index روی 0 باشد برای همین باید این رویداد که ایجاد کردین از توی کد XAML حذفش کنید(یا همون بخش Event ها که دابل کلیک میکنیم) و توی Window_Loaded صداش بزنید
بزنید :
MyComboBox1.SelectionChange += MyComboBox1_SelectionChange
توی لینک بالا توضیح داده که در واقع این رویداد اتفاق می افتد چون باید کمبوباکس رو از هیچی به 0 تبدیل کنه
نکته : اگر توی لودینگ Window_Loaded کد هستش باید در انتهای اون کد ها Selection Change رو صدا بزنید !
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول