تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طلب مساعدة لاول مرة
#1
Lightbulb 
السلام عليكم 

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






علما اني استخدم برنامج سي شارب ولكن لا اعرف ماهي الاداة المناسبة لعمل الجدول الذي على اليمين هل هو toolbox وكيف اجعل الواجهة التي على اليسار تتغير كليا  مثلا عند الضغط على ال "ملاحظات" تظهر لدي صفحة اخرى على اليسار  وعند الضغط على " تفاصيل اخرى" تظهر لدي صفحة اخرى وكذلك باللنسبة ل "حقول مخصصة " و ال " الخدمة التالية" وما هو الحدث المناسب اتمنى ان تساعدوني لعمل مثل هذا الكونترول 
مع جزيل الشكر لكم
الرد
تم الشكر بواسطة:
#2
الأداة على اليمين هل ListBox أو DataGridView بعمود واحد
الأداة على اليسار يرجح أنها TabControl
يمكن عملها بسهولة وستساعد اداة tabcontrol في التنسيق وقت التصميم دون الحاجة لاستخدام اكثر من طبقة او panel فوق بعضها
ثم في حدث تغير index الخاص بـ listbox (عند النقر مثلا) تقوم بتغيير الـ tab المخصص في tabcontrol
طبعا يمكنك اخفاء ألسنة الـ tabs بتخصيص خط صغير جدا لنصها
الرد
تم الشكر بواسطة: الشاكي لله , amgad525
#3
شكراا جزيلا على الاهتمام اتوقع المشكلة تم حلها الاداة على اليمين ال listbox والتي على اليسار tabcontrol وساخفي الالسنة باستخدام خاصية showtaps بجعلها false
ولكن هناك مشكلة كيف اتنقل بالالسنة بالضغط على عناصر ال list box فانا اريد تحديد لكل index بال listbox لسان معين او تاب معين هل يمكنك توضيح هذه الخطوة ولو بكود بسيط
بارك الله فيك وكثر من امثالك على المساعدة
الرد
تم الشكر بواسطة:
#4
للاسف لاتوجد خاصية showtap
الرد
تم الشكر بواسطة:
#5
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;

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




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



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

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


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



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

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

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


والله اعلم
الرد
تم الشكر بواسطة: amgad525
#9
اخي الشاكي لا اظن ان المستخدم panel لانه من الصعب عمل التصميم لو استخدمنا ال panel فلو وضعنا panel وعملنا ترتيب للادوات ومن ثم نضع بانل فوق الاولى فتختفي الاولى فكيف اذا اردنا التعديل على البنل الاولى ستكون صعبة في هذه الحالة
شكراا على الاهتمام
الرد
تم الشكر بواسطة:
#10
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;

الرد
تم الشكر بواسطة: محمد كريّم



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم