منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
طلب مساعدة لاول مرة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : طلب مساعدة لاول مرة (/showthread.php?tid=18300)

الصفحات: 1 2


طلب مساعدة لاول مرة - yasirh88 - 07-12-16

السلام عليكم 

انا عضو جديد في هذا المنتدى ولدي مشكلة في صنع مثل هذه الواجهة 






علما اني استخدم برنامج سي شارب ولكن لا اعرف ماهي الاداة المناسبة لعمل الجدول الذي على اليمين هل هو toolbox وكيف اجعل الواجهة التي على اليسار تتغير كليا  مثلا عند الضغط على ال "ملاحظات" تظهر لدي صفحة اخرى على اليسار  وعند الضغط على " تفاصيل اخرى" تظهر لدي صفحة اخرى وكذلك باللنسبة ل "حقول مخصصة " و ال " الخدمة التالية" وما هو الحدث المناسب اتمنى ان تساعدوني لعمل مثل هذا الكونترول 
مع جزيل الشكر لكم


RE: طلب مساعدة لاول مرة - محمد كريّم - 07-12-16

الأداة على اليمين هل ListBox أو DataGridView بعمود واحد
الأداة على اليسار يرجح أنها TabControl
يمكن عملها بسهولة وستساعد اداة tabcontrol في التنسيق وقت التصميم دون الحاجة لاستخدام اكثر من طبقة او panel فوق بعضها
ثم في حدث تغير index الخاص بـ listbox (عند النقر مثلا) تقوم بتغيير الـ tab المخصص في tabcontrol
طبعا يمكنك اخفاء ألسنة الـ tabs بتخصيص خط صغير جدا لنصها


RE: طلب مساعدة لاول مرة - yasirh88 - 08-12-16

شكراا جزيلا على الاهتمام اتوقع المشكلة تم حلها الاداة على اليمين ال listbox والتي على اليسار tabcontrol وساخفي الالسنة باستخدام خاصية showtaps بجعلها false
ولكن هناك مشكلة كيف اتنقل بالالسنة بالضغط على عناصر ال list box فانا اريد تحديد لكل index بال listbox لسان معين او تاب معين هل يمكنك توضيح هذه الخطوة ولو بكود بسيط
بارك الله فيك وكثر من امثالك على المساعدة


RE: طلب مساعدة لاول مرة - yasirh88 - 08-12-16

للاسف لاتوجد خاصية showtap


RE: طلب مساعدة لاول مرة - amgad525 - 08-12-16

PHP كود :
private void Form1_Load(object senderEventArgs e)
{
    
this.tabControl1.SizeMode TabSizeMode.Fixed;
    
this.tabControl1.ItemSize = new Size(01);
    
this.tabControl1.TabStop false;
    
this.listBox1.SelectedIndex 0;
}

private 
void listBox1_SelectedIndexChanged(object senderEventArgs e)
{
    
this.tabControl1.SelectedIndex this.listBox1.SelectedIndex;




RE: طلب مساعدة لاول مرة - محمد كريّم - 08-12-16

الكود الذي كتبه الاخ امجد مكون من شقين
الشق الاول هو الذي دكرته لك حول تعيين حجم الألسنة الى حجم صغير حتى لا تظهر
الشق الثاني هو كود لعرض اللسان المطلوب عند النقر على احد عناصر القائمة اليمنى
المهم ان يكون نفس التسلسل index في القائمة واداة التاب كونترول
يعني تاب البيانات الاساسية يجب ان يكون في الاندكس 0 بما انه كذلك في القائمة


RE: طلب مساعدة لاول مرة - yasirh88 - 09-12-16

الاخ امجد شكرااا لك على الكود والكود شغال مية المية ولكن هناك مشكلة بسيطة انظر للصورة 




الجزء المؤشر في الاعلى يظهر وهو مكان الالسنة او التابات وفي الصورة الاصلية لا يظهر كما تشاهد



وما الفائدة من الكود 
this.tabControl1.SizeMode TabSizeMode.Fixed;
this.tabControl1.TabStop false;
هل هذا الكود لكي لا يتغير حجم التابات ام ماذا 

إقتباس :الكود الذي كتبه الاخ امجد مكون من شقين
الشق الاول هو الذي دكرته لك حول تعيين حجم الألسنة الى حجم صغير حتى لا تظهر
الشق الثاني هو كود لعرض اللسان المطلوب عند النقر على احد عناصر القائمة اليمنى
المهم ان يكون نفس التسلسل index في القائمة واداة التاب كونترول
يعني تاب البيانات الاساسية يجب ان يكون في الاندكس 0 بما انه كذلك في القائمة


الاخ محمد شكرااا لك فانت الذي اوصلتني لهذه الاداة فكنت لا اعرف كيف اصيغ السؤال 
وسؤال اخير هناك textbox مستخدم في الصورة الاولى ويحتوي على صورة مكبرة 



وعند الضغط على صورة المكبرة يبحث في مكان معين عن الالوان مثلا او اي شي اخر كيف يتم عمل تيكست بوكس مثل هذا مع button


RE: طلب مساعدة لاول مرة - الشاكي لله - 09-12-16

لا اضن ان الشق الايسر عبارى عن TabControl

فقط قام بوضع المحتوى في Panels

حيث كل Item على اليمين يقوم بإظهار Panel معين ..


والله اعلم


RE: طلب مساعدة لاول مرة - yasirh88 - 12-12-16

اخي الشاكي لا اظن ان المستخدم panel لانه من الصعب عمل التصميم لو استخدمنا ال panel فلو وضعنا panel وعملنا ترتيب للادوات ومن ثم نضع بانل فوق الاولى فتختفي الاولى فكيف اذا اردنا التعديل على البنل الاولى ستكون صعبة في هذه الحالة
شكراا على الاهتمام


RE: طلب مساعدة لاول مرة - amgad525 - 12-12-16

UserControl


PHP كود :
private void Form1_Load(object senderEventArgs e) {
 
   this.listBox1.SelectedIndex 0;

}

UserControl usercontrol1 = new UserControl1();
UserControl usercontrol2 = new UserControl2();
UserControl usercontrol3 = new UserControl3();
UserControl usercontrol4 = new UserControl4();

private 
void listBox1_SelectedIndexChanged(object senderEventArgs e) {

 
   this.panel1.Controls.Clear();

 
   switch (this.listBox1.SelectedIndex) {

 
       case 0:
 
           usercontrol1.Parent this.panel1;
 
           break;

 
       case 1:
 
           usercontrol2.Parent this.panel1;
 
           break;

 
       case 2:
 
           usercontrol3.Parent this.panel1;
 
           break;

 
       case 3:
 
           usercontrol4.Parent this.panel1;
 
           break;

 
   }





PHP كود :
private void Form1_Load(object senderEventArgs e) {
 
   this.listBox1.SelectedIndex 0;

}


UserControl[] usercontrol = { 
 
                               new UserControl1(), 
 
                               new UserControl2(), 
 
                               new UserControl3(), 
 
                               new UserControl4() 
 
                           };

private 
void listBox1_SelectedIndexChanged(object senderEventArgs e) {

 
   this.panel1.Controls.Clear();

 
   usercontrol[this.listBox1.SelectedIndex].Parent this.panel1;




PHP كود :
UserControl usercontrol1 = new UserControl1();
UserControl usercontrol2 = new UserControl2();
UserControl usercontrol3 = new UserControl3();
UserControl usercontrol4 = new UserControl4();

private 
void Form1_Load(object senderEventArgs e) {
    
usercontrol1.Parent this.panel1;
}

private 
void button1_Click(object senderEventArgs e) {
    
this.panel1.Controls.Clear();
    
usercontrol1.Parent this.panel1;
}

private 
void button2_Click(object senderEventArgs e) {
    
this.panel1.Controls.Clear();
    
usercontrol2.Parent this.panel1;
}

private 
void button3_Click(object senderEventArgs e) {
    
this.panel1.Controls.Clear();
    
usercontrol3.Parent this.panel1;
}

private 
void button4_Click(object senderEventArgs e) {
    
this.panel1.Controls.Clear();
    
usercontrol4.Parent this.panel1;