PDA

View Full Version : سوال: خانه خانه کردن فرم بصورت مربع



Salar Ashgi
یک شنبه 03 شهریور 1387, 17:03 عصر
سلام دوستان ، چه جوری میشه یک فرم رو به شکل زیر در آورد ، و مقادیر یک آرایه

دوبعدی را در خانه های مربع شکل ذخیره کرد (قرار داد) ؟؟؟ ممنون از راهنماییتون !!!:لبخندساده:

عکس برنامه (http://i37.tinypic.com/24gvgp4.jpg)

یا :

aliaaa
یک شنبه 03 شهریور 1387, 19:19 عصر
دوست عزیز یه راهش اینه که از user control ها استفاده کنی. من یک مثال برات درست کردم دانلود کن و ببین داخل یه حلقه ارایه ی user control ی که ساختم رو درست می کنم.

h.jaza
یک شنبه 03 شهریور 1387, 20:05 عصر
به غیر از این راه، این کارو خیلی ساده می تونی با WPF هم انجام بدی.

اینم فقط یه اینترفیس:

Salar Ashgi
یک شنبه 03 شهریور 1387, 22:55 عصر
با تشکر از دوستان ، ولی VS من برای هر دو برنامه Error داد ، میشه راهنمایی کنید !!!

در ضمن بهتره بدون استفاده از WPF باشه !!! ممنونم !!!!

Salar Ashgi
دوشنبه 04 شهریور 1387, 12:03 عصر
دوستان من منتظر راهنمایی شما هستم !!!

h.jaza
دوشنبه 04 شهریور 1387, 12:16 عصر
ببینم مگه از ویژوال استودیو 2008 استفاده نمیکنی؟

اگه استفاده می کنی، شاید این نسخه ی ویژوالت اشکال داشته باشه.

چون من با هیچ کدومه این دو تا برنامه مشکلی ندارم.

ضمنا بگو چه ایروری میده، شاید معلوم بشه مشکل دقیقا از کجاس...

sinpin
دوشنبه 04 شهریور 1387, 14:05 عصر
از TableLayoutPanel + تعدادي ليبل هم ميتوان استفاده كرد

aliaaa
دوشنبه 04 شهریور 1387, 14:36 عصر
این دوتا برنامه تو VS2008 نوشته شدن که اگه VS2005 استفاده می کنی نمی تونی بازشون کنی.

Salar Ashgi
دوشنبه 04 شهریور 1387, 17:47 عصر
از TableLayoutPanel + تعدادي ليبل هم ميتوان استفاده كرد

آیا در این صورت میشه به خانه ها مقدار داد ؟؟

h.jaza
دوشنبه 04 شهریور 1387, 21:05 عصر
یه سری به http://www.codeproject.com/KB/dotnet/LayoutPanels_VS2005.aspx بزن.
اگه سورسشو نگاه کنی، قشنگ متوجه میشی.

Salar Ashgi
چهارشنبه 06 شهریور 1387, 09:34 صبح
دوستان اگر ممکنه انجام این کار رو با استفاده از Label ها ، توضیح بدین ؟؟؟

خیلی ممنونم !!!!:لبخندساده:

h.jaza
چهارشنبه 06 شهریور 1387, 09:57 صبح
اگه منظورت اینه که مثلا 36 تا یا هشتاد و یکی لیبل بذاری کناره هم و بعد هم توشون مقدار بریزی، این که اصلا سوال نداره.

اگرم منظورت چیزه دیگه ایه، بیشتر توضیح بده.

Salar Ashgi
چهارشنبه 06 شهریور 1387, 16:20 عصر
نه عزیز ، اگه این بود که دیگه نیازی به سوال پرسیدن نبود و فکر می کنم هیچ آدم عاقلی

هم اینکارو نمی کنه چراکه بسیار وقت گیر و غیر بهینه میباشد !!! البته خودم تا یه جاهایی

رفتم ، باید یه آرایه دوبعدی از لیبل ها ساخت و فرم رو مختصات بندی کرد !!!! ولی درست در

نمیاد ؟؟؟!!!!

Amir Oveisi
چهارشنبه 06 شهریور 1387, 17:51 عصر
یه FlowLayoutPanel رو فرم بذارین
بعد هر چند تا که label خواستین توش add کنین

panel1.Controls.Add(label1);

موفق باشید
jooje

linux
چهارشنبه 06 شهریور 1387, 20:27 عصر
نه عزیز ، اگه این بود که دیگه نیازی به سوال پرسیدن نبود و فکر می کنم هیچ آدم عاقلی

هم اینکارو نمی کنه چراکه بسیار وقت گیر و غیر بهینه میباشد !!! البته خودم تا یه جاهایی

رفتم ، باید یه آرایه دوبعدی از لیبل ها ساخت و فرم رو مختصات بندی کرد !!!! ولی درست در

نمیاد ؟؟؟!!!!
از GDI+ می توانی استفاده کنی و مختصات هر قسمت را در یک آرایه ذخیره کنی و هر موقع خواستی باز می توانی با GDI+ در آن قسمت با داشتن ایندکس و مختصات هر قسمت مقدار لازم را بنویسی

sinpin
چهارشنبه 06 شهریور 1387, 21:57 عصر
آیا در این صورت میشه به خانه ها مقدار داد ؟؟
بله - ميشه به هر سلول يك ليبل اختصاص داد

Salar Ashgi
پنج شنبه 07 شهریور 1387, 14:23 عصر
دوستان یه کد ساده واسه راهنمایی میشه لطف کنند ؟؟؟!!!:لبخندساده:

Amir Oveisi
پنج شنبه 07 شهریور 1387, 17:33 عصر
راهنمایی و کد مورد نظر رو تو پست بالایی گذاشتم !

Salar Ashgi
پنج شنبه 07 شهریور 1387, 19:57 عصر
راهنمایی و کد مورد نظر رو تو پست بالایی گذاشتم !


======================
دوست عزیز و گرامی من میخوام لیبل ها بصورت عکس زیر ، روی فرم قرار بگیرند !!!


عکس برنامه (http://i37.tinypic.com/24gvgp4.jpg)

ممنون میشم راهنمایی کنید !!!!

linux
پنج شنبه 07 شهریور 1387, 20:30 عصر
======================
دوست عزیز و گرامی من میخوام لیبل ها بصورت عکس زیر ، روی فرم قرار بگیرند !!!


عکس برنامه (http://i37.tinypic.com/24gvgp4.jpg)

ممنون میشم راهنمایی کنید !!!!
قرار دادن 81 لیبیل تو برنامه برنامه را کند می کند شما باید خودتان اینها را بکشید
فقط برای مثال


Graphics g = this.CreateGraphics();
for (int i = 0; i <= this.Width; i += 50)
{
g.DrawLine(new Pen(Brushes.Black), i, 0, i, this.Height);
}
for (int i = 0; i <= this.Height; i += 50)
{
g.DrawLine(new Pen(Brushes.Black), 0, i, this.Width, i);
}

Salar Ashgi
یک شنبه 10 شهریور 1387, 12:34 عصر
قرار دادن 81 لیبیل تو برنامه برنامه را کند می کند شما باید خودتان اینها را بکشید
فقط برای مثال


Graphics g = this.CreateGraphics();
for (int i = 0; i <= this.Width; i += 50)
{
g.DrawLine(newPen(Brushes.Black), i, 0, i, this.Height);
}
for (int i = 0; i <= this.Height; i += 50)
{
g.DrawLine(newPen(Brushes.Black), 0, i, this.Width, i);
}


**************************************

دوست عزیز ممنون و متشکر از کد کاربردی شما !!! حالا من چه جوری میتونم تو خونه های

مربع شکل مقادیر یک آرایه دو بعدی عددی رو قرار بدم ؟؟؟

Salar Ashgi
دوشنبه 11 شهریور 1387, 15:48 عصر
دوستان من منتظر راهنمایی هستم !!!!:لبخندساده:

sinpin
سه شنبه 12 شهریور 1387, 08:49 صبح
ظاهرا با GDI كار كرديد در اينصورت ميتونيد از چندبار صدا زدن متود DrawText در حلقه استفاده كنيد