PDA

View Full Version : جدول



regbyte
پنج شنبه 27 دی 1386, 13:07 عصر
سلام

من می خوام یه چیزی مثل یک جدول 3*n درست کنم، یعنی هر ستون شامل سه Textbox (سطر) باشه و در زمان اجرا امکان اضافه و کم کردن ستونها رو داشته باشم.
1. آیا کامپوننتی برای این کار وجود داره؟
2. چطوری میتونم فوکوس رو به کنترل قبلی یا بعدی بدهم، چون می خوام با arrow key ها در جدول بالا و پایین و چپ و راست برم؟

لطفا راهنمایی کنید.

Mahdi.Kiani
پنج شنبه 27 دی 1386, 13:48 عصر
DataGridview
یا اینکه خودتون یه کمنترل بنویسین که DataGridView فکر کنم کارتون را راه بیاندازه

regbyte
پنج شنبه 27 دی 1386, 19:32 عصر
DataGridview اینکار رو انجام نمی دهد.

sinpin
پنج شنبه 27 دی 1386, 19:44 عصر
DataGridview اینکار رو انجام نمی دهد.
دقیقا چه کاری رو ؟
شما دو راه حل کلی دارید :
1- در زمان اجرا (از طریق کدنویسی) بیاین و کنترلهای لازمه رو به container دلخواه add کنید
2- یک کنترل سفارشی برای برآورده ساختن منظورتون بسازید.

mahsa_999
پنج شنبه 27 دی 1386, 19:51 عصر
من دقیقا متوجه منظورتون نشدم. اگه می خواین یه جدول از TextBox ها در حال اجرا درست کنید این یه روشه که بد نیست:


Label [,]label=newLabel[N,N];
for(int j=0;j<N;j++)
{
label[i,j]=newLabel();label[i,j].Size=newSize(18,18);
label[i,j].Location=newPoint(20*(j+5),20*(i+1));
label[i,j].BorderStyle=BorderStyle.FixedSingle;
this.Controls.AddRange(new System.Windows.Forms.Control[]{label[i,j]});


البته به جای label باید TextBox بذازین

mahsa_999
پنج شنبه 27 دی 1386, 19:59 عصر
برای سوال دومتون هم فکر کنم با keypress event و دونستن کد ASCII هر کدوم از arrow key ها هر کدوم از arrow key ها که زده شد بتونید رو TextBox ها حرکت کنید.
برای فوکوس کردن هم که از


TextBox1.Focus();

استفاده می کنید

regbyte
پنج شنبه 27 دی 1386, 20:07 عصر
اما چطوری Textbox بالایی یا پایینی یا چپ و راستی رو تشخیص بدهم؟

regbyte
پنج شنبه 27 دی 1386, 20:35 عصر
یه چیزی مثل:http://barnamenevis.org/forum/attachment.php?attachmentid=13822&stc=1&d=1200591266

Mahdi.Kiani
جمعه 28 دی 1386, 07:06 صبح
یه چیزی مثل:http://barnamenevis.org/forum/attachment.php?attachmentid=13822&stc=1&d=1200591266

دوست عزیز DataGridView هم تقریبا یه چنین شکلی داره که خوب هم می تونین Customize کنیدش (اگه بلد باشین)

چون این کار هاییی که شما میگین را درون خود کنترل DataGridView موجود است.



یعنی هر ستون شامل سه Textbox (سطر) باشه

اولا هر سطر شامل سه ستون باشه، نه هر ستون شامل سه سطر!!!




در زمان اجرا امکان اضافه و کم کردن ستونها رو داشته باشم.


از کوچکترین امکانات grid هست

در ضمن
هر سلول DataGridView شبیه به یک TextBox می باشد
حتی بدون اون دکمه هایی هم که گذاشتین میشه سطر جدید و در نتیجا TextBox های جدید (به قول شما) ایجاد کرد
و هزارو .... امکان دیگه

حالا اینکه شما چه عمل خارق العاده دی میخواین انجام بدین که با اون TextBox های تویشکل میشه و یا grid نمیشه را الله اعلم ....
به هرحال راه های ممکن همونی هست که گفته شد