السلام عليكم
انا عضو جديد في هذا المنتدى ولدي مشكلة في صنع مثل هذه الواجهة
علما اني استخدم برنامج سي شارب ولكن لا اعرف ماهي الاداة المناسبة لعمل الجدول الذي على اليمين هل هو toolbox وكيف اجعل الواجهة التي على اليسار تتغير كليا مثلا عند الضغط على ال "ملاحظات" تظهر لدي صفحة اخرى على اليسار وعند الضغط على " تفاصيل اخرى" تظهر لدي صفحة اخرى وكذلك باللنسبة ل "حقول مخصصة " و ال " الخدمة التالية" وما هو الحدث المناسب اتمنى ان تساعدوني لعمل مثل هذا الكونترول
مع جزيل الشكر لكم
الأداة على اليمين هل ListBox أو DataGridView بعمود واحد
الأداة على اليسار يرجح أنها TabControl
يمكن عملها بسهولة وستساعد اداة tabcontrol في التنسيق وقت التصميم دون الحاجة لاستخدام اكثر من طبقة او panel فوق بعضها
ثم في حدث تغير index الخاص بـ listbox (عند النقر مثلا) تقوم بتغيير الـ tab المخصص في tabcontrol
طبعا يمكنك اخفاء ألسنة الـ tabs بتخصيص خط صغير جدا لنصها
شكراا جزيلا على الاهتمام اتوقع المشكلة تم حلها الاداة على اليمين ال listbox والتي على اليسار tabcontrol وساخفي الالسنة باستخدام خاصية showtaps بجعلها false
ولكن هناك مشكلة كيف اتنقل بالالسنة بالضغط على عناصر ال list box فانا اريد تحديد لكل index بال listbox لسان معين او تاب معين هل يمكنك توضيح هذه الخطوة ولو بكود بسيط
بارك الله فيك وكثر من امثالك على المساعدة
للاسف لاتوجد خاصية showtap
PHP كود :
private void Form1_Load(object sender, EventArgs e)
{
this.tabControl1.SizeMode = TabSizeMode.Fixed;
this.tabControl1.ItemSize = new Size(0, 1);
this.tabControl1.TabStop = false;
this.listBox1.SelectedIndex = 0;
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.tabControl1.SelectedIndex = this.listBox1.SelectedIndex;
}
الكود الذي كتبه الاخ امجد مكون من شقين
الشق الاول هو الذي دكرته لك حول تعيين حجم الألسنة الى حجم صغير حتى لا تظهر
الشق الثاني هو كود لعرض اللسان المطلوب عند النقر على احد عناصر القائمة اليمنى
المهم ان يكون نفس التسلسل index في القائمة واداة التاب كونترول
يعني تاب البيانات الاساسية يجب ان يكون في الاندكس 0 بما انه كذلك في القائمة
الاخ امجد شكرااا لك على الكود والكود شغال مية المية ولكن هناك مشكلة بسيطة انظر للصورة
الجزء المؤشر في الاعلى يظهر وهو مكان الالسنة او التابات وفي الصورة الاصلية لا يظهر كما تشاهد
وما الفائدة من الكود
this.tabControl1.SizeMode = TabSizeMode.Fixed;
this.tabControl1.TabStop = false;
هل هذا الكود لكي لا يتغير حجم التابات ام ماذا
إقتباس :الكود الذي كتبه الاخ امجد مكون من شقين
الشق الاول هو الذي دكرته لك حول تعيين حجم الألسنة الى حجم صغير حتى لا تظهر
الشق الثاني هو كود لعرض اللسان المطلوب عند النقر على احد عناصر القائمة اليمنى
المهم ان يكون نفس التسلسل index في القائمة واداة التاب كونترول
يعني تاب البيانات الاساسية يجب ان يكون في الاندكس 0 بما انه كذلك في القائمة
الاخ محمد شكرااا لك فانت الذي اوصلتني لهذه الاداة فكنت لا اعرف كيف اصيغ السؤال
وسؤال اخير هناك textbox مستخدم في الصورة الاولى ويحتوي على صورة مكبرة
وعند الضغط على صورة المكبرة يبحث في مكان معين عن الالوان مثلا او اي شي اخر كيف يتم عمل تيكست بوكس مثل هذا مع button
لا اضن ان الشق الايسر عبارى عن TabControl
فقط قام بوضع المحتوى في Panels
حيث كل Item على اليمين يقوم بإظهار Panel معين ..
والله اعلم
اخي الشاكي لا اظن ان المستخدم panel لانه من الصعب عمل التصميم لو استخدمنا ال panel فلو وضعنا panel وعملنا ترتيب للادوات ومن ثم نضع بانل فوق الاولى فتختفي الاولى فكيف اذا اردنا التعديل على البنل الاولى ستكون صعبة في هذه الحالة
شكراا على الاهتمام
UserControl
PHP كود :
private void Form1_Load(object sender, EventArgs 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 sender, EventArgs 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 sender, EventArgs e) {
this.listBox1.SelectedIndex = 0;
}
UserControl[] usercontrol = {
new UserControl1(),
new UserControl2(),
new UserControl3(),
new UserControl4()
};
private void listBox1_SelectedIndexChanged(object sender, EventArgs 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 sender, EventArgs e) {
usercontrol1.Parent = this.panel1;
}
private void button1_Click(object sender, EventArgs e) {
this.panel1.Controls.Clear();
usercontrol1.Parent = this.panel1;
}
private void button2_Click(object sender, EventArgs e) {
this.panel1.Controls.Clear();
usercontrol2.Parent = this.panel1;
}
private void button3_Click(object sender, EventArgs e) {
this.panel1.Controls.Clear();
usercontrol3.Parent = this.panel1;
}
private void button4_Click(object sender, EventArgs e) {
this.panel1.Controls.Clear();
usercontrol4.Parent = this.panel1;
}