.........
button in datagridview
اقتباس
لانه بيظهر عنه بدء البرنامج فقط لكن عند ايقاف البرنامج لم يظهر سوى datagridview فقط ارجو المساعده وجزاكم الله كل خير
لم افهم مطلقاً ماترمي إليه
ولكن يمكن التعامل مع خواص ال Button الخاص ب DataGridView عن طريق تحول Column معين إلى النوع DataGridViewButtonColumn
مثال
DataGridViewButtonColumn DButton = (DataGridViewButtonColumn )this.DataGridView1.Columns[0];
حتى يصبح العنصر DButton من النوع DataGridViewButtonColumn لذا يمكنك التعامل مع خواصه كما تريد كمثال الخاصية Text
او عن طريق تحول Cell محددة إلى النوع DataGridViewButtonCell
بالتوفيق
{ وَيَوْمَ تَقُومُ السَّاعَةُ يُقْسِمُ الْمُجْرِمُونَ مَا لَبِثُوا غَيْرَ سَاعَةٍ ۚ كَذَٰلِكَ كَانُوا يُؤْفَكُونَ () وَقَالَ الَّذِينَ أُوتُوا الْعِلْمَ وَالْإِيمَانَ لَقَدْ لَبِثْتُمْ فِي كِتَابِ اللَّهِ إِلَىٰ يَوْمِ الْبَعْثِ ۖ فَهَٰذَا يَوْمُ الْبَعْثِ وَلَٰكِنَّكُمْ كُنْتُمْ لَا تَعْلَمُونَ } الروم 55-56
قم بمعالجة الحدث CellContentClick لل DataGridView
نقوم بتحويل ال sender إلى النوع DataGridView
نحاول تحويل ال Columns الحالي الذي تعرض للنقر إلى النوع DataGridViewButtonColumn
نقوم بالتحقق من رقم ال Row المطلوب للإستجابة لحدث نقر زر محدد
لذا الكود سيكون كالتالي
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
var DataGridViewSender = (DataGridView)sender;
if (DataGridViewSender.Columns[e.ColumnIndex] is DataGridViewButtonColumn &&
e.RowIndex >= 0) //
{
switch(e.RowIndex)
{
case 0:
break;
case 1:
break;
case 2:
break;
defualt:
break;
}
}
}
//المصدر : http://stackoverflow.com/questions/3577297/how-to-handle-click-event-in-button-column-in-datagridviewتم تعديل هذه المشاركة بواسطة Install في 6 أكتوبر 2014 في 18:36
{ وَيَوْمَ تَقُومُ السَّاعَةُ يُقْسِمُ الْمُجْرِمُونَ مَا لَبِثُوا غَيْرَ سَاعَةٍ ۚ كَذَٰلِكَ كَانُوا يُؤْفَكُونَ () وَقَالَ الَّذِينَ أُوتُوا الْعِلْمَ وَالْإِيمَانَ لَقَدْ لَبِثْتُمْ فِي كِتَابِ اللَّهِ إِلَىٰ يَوْمِ الْبَعْثِ ۖ فَهَٰذَا يَوْمُ الْبَعْثِ وَلَٰكِنَّكُمْ كُنْتُمْ لَا تَعْلَمُونَ } الروم 55-56
Install كتب:
قم بمعالجة الحدث CellContentClick لل DataGridView
نقوم بتحويل ال sender إلى النوع DataGridView
نحاول تحويل ال Columns الحالي الذي تعرض للنقر إلى النوع DataGridViewButtonColumn
نقوم بالتحقق من رقم ال Row المطلوب للإستجابة لحدث نقر زر محدد
لذا الكود سيكون كالتالي
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { var DataGridViewSender = (DataGridView)sender; if (DataGridViewSender.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0) // { switch(e.RowIndex) { case 0: break; case 1: break; case 2: break; defualt: break; } } } //المصدر : http://stackoverflow.com/questions/3577297/how-to-handle-click-event-in-button-column-in-datagridview
لم يفلح المطلوب ادخل الى الزر لكى اكتب هذا الكود
FRM_LIST frm= new FRM_LISTfrm.showdialog();
لكى عند انطلاق الفور وعندما اضغط على الزر يفتح لى هذه الفورم
المشكله ان عندما اضغط stop الزر لم يظهر لى بداخل datagridview تظهر لى خاليه من كل الحقول فلو من الممكن ان اضهر هذا الزر باى طريقه ما
لماذا تستخدم الأكواد لإضافة ال Columns الخاصة بال DataGridView ؟
لماذا لا تضيفهم عن طريق ال Form Designer ؟
اقتباس
لم يفلح المطلوب
انت مالذي فعلته بالضبط ؟ هل قمت بعمل subscrib للحدث CellContentClick من ال Form Designer ؟
وهل قمت بكتابة اكوادك ضمن ال case المناسب ؟
اقتباس
FRM_LIST frm= new FRM_LIST
frm.showdialog();
هذا الكود تضعه انت في احد ال cases في الأعلى بحسب طلبك مثلاً ال case 0 تعبر عن حدث النقر على الزر في الصف الأول وهكذا !
ارجوا ان تنتبه اثناء تطبيق الاكواد .
والأفضل ان تقوم بإضافة ال Columns لل DataGridView في ال Design Time إن لم يكن هناك ضرورة ملحة لإضافتها في الـ Run-Time
بالتوفيق
{ وَيَوْمَ تَقُومُ السَّاعَةُ يُقْسِمُ الْمُجْرِمُونَ مَا لَبِثُوا غَيْرَ سَاعَةٍ ۚ كَذَٰلِكَ كَانُوا يُؤْفَكُونَ () وَقَالَ الَّذِينَ أُوتُوا الْعِلْمَ وَالْإِيمَانَ لَقَدْ لَبِثْتُمْ فِي كِتَابِ اللَّهِ إِلَىٰ يَوْمِ الْبَعْثِ ۖ فَهَٰذَا يَوْمُ الْبَعْثِ وَلَٰكِنَّكُمْ كُنْتُمْ لَا تَعْلَمُونَ } الروم 55-56