PDA

View Full Version : سوال: تقسیم بندی فرم در C#



kh1387
یک شنبه 07 مهر 1387, 21:19 عصر
سلاممن می خواهم فرمم رو تقسیم بندی کنم و در هر قسمت کنترلهایم را بگذارم اما با tableLayoutPanel مشکلی که دارم اینه که مثلا در ردیف سوم می خوام دوتا ستون داشته باشم و در ردیفهای دیگه یک ستون که با این کامپوننت قابل اعمال نیست.دوستان کسی می دونه در سی شارپ چه ابزاری برای این کار وجود داره؟با تشکر

jaza_sa
یک شنبه 07 مهر 1387, 21:30 عصر
معمولا برای اینکارا از کنترل هایی مثل :
Panel ، Split Container ، GroupBox و ...
استفاده میکنن
اگر امکان داره ، ظاهر اون چیزی رو که میخواید درست کنید روی کاغذ بکشید و عکسش رو بفرستید

اونطوری دقیقتر میتونیم کمک کنیم ...

kh1387
یک شنبه 07 مهر 1387, 22:41 عصر
ببخشید من نمی دونم چرا سایت اینطوری شده از امکانات بالای این صفحه از جمله افزون تصویر نمی تونم استفاده کنم مجبورم لینک تصویر رو بذارم.معذرت می خوامhttp://xs.to/xs.php?h=xs431&d=08390&f=untitled109.jpg

jaza_sa
دوشنبه 08 مهر 1387, 00:22 صبح
میشه بگید همچین فرمی رو برای چه کاری میخواید استفاده کنید
فرمی با این تقسیم بندی یکم عجیبه (به نظر من :متفکر:)

میتونید با استفاده از Panel تمام این فرم رو اونطوری که میخواید تقسیم بندی کنید

فقط باید حواستون باشه که خصوصیت Dock تمام پنل ها بجز آخری به یک سمت باشه (مثلا Right) و برای آخرین Panel این مقدار برابر با Fill باشه

من عکس مورد نظر شما و اون چیزی که خودم طراحی کردم رو میزارم :چشمک:
(ترکیب رنگ ها رو در نظر نگیرید :لبخند:)

kh1387
دوشنبه 08 مهر 1387, 01:14 صبح
میشه بگید همچین فرمی رو برای چه کاری میخواید استفاده کنید
فرمی با این تقسیم بندی یکم عجیبه (به نظر من :متفکر:)

میتونید با استفاده از Panel تمام این فرم رو اونطوری که میخواید تقسیم بندی کنید

فقط باید حواستون باشه که خصوصیت Dock تمام پنل ها بجز آخری به یک سمت باشه (مثلا Right) و برای آخرین Panel این مقدار برابر با Fill باشه

من عکس مورد نظر شما و اون چیزی که خودم طراحی کردم رو میزارم :چشمک:
(ترکیب رنگ ها رو در نظر نگیرید :لبخند:)

دوست خوبم ممنونم از پاسختان اما من منظورم این نبود که میخوام اینطور فرمب تهیه کنم بلکه منظورم اینه که می خوام همونطوری که توی برنامه ورد میتونیم مثلا در سطر سوم ستونهاشو حذف کنیم . توی سی شارپ هم بتونیم.میخوام بدونم کنترلی هست یا باید با همینها ور برم؟

jaza_sa
دوشنبه 08 مهر 1387, 01:47 صبح
دوست خوبم ممنونم از پاسختان اما من منظورم این نبود که میخوام اینطور فرمب تهیه کنم بلکه منظورم اینه که می خوام همونطوری که توی برنامه ورد میتونیم مثلا در سطر سوم ستونهاشو حذف کنیم . توی سی شارپ هم بتونیم.میخوام بدونم کنترلی هست یا باید با همینها ور برم؟
این امکان در WPF تعبیه شده ...

#Laser
دوشنبه 08 مهر 1387, 09:28 صبح
سلام :

شما میتونی از همون کنترل TableLayOutPanel برای این کار استفاده کنی. منتها در این کنترل این امکان وجود نداره که هر سطر و ستون رو بشه Customize کرد. همون طور هم که میدونی در هر خانه از این کنترل فقط میشه یک کنترل قرار داد. ولی اکثر کنترلها دارای دو Property به نامهای RowSpan و ColumnSpan هستند که برای کنترل TableLayoutPanel هستن و به این معناست که هر کنترلی که در یکی از خانه های TableLayoutPanel قرار گرفت میتونه چند سطر یا چند ستون از این کنترل را به خود اختصاص بده.
بنابراین اگر شما یک TableLayoutPanel در فرم خودت قرار بدی و Dock اون رو Fill کنی و اون رو به کوچکترین قسمتهایی که لازم داری تقسیم کنی, می تونی با انداختن کنترلهای Panel در هر خانه از TableLayoutPanle و با تنظیم RowSpan و ColumnSpan های Panelها به هدف خودت برسی به شرط اینکه Dock همه Panelهات رو Fill کنی.

Good Things Come To Those Who Wait
با تشکر : لیزر Laser