دسته بندی ها
13:19 1400/12/25

ریسپانسیو کردن کامپوننت ها در فرم های ویندوزی در سی شارپ

مشخصات سوال کننده :
کاربر : m3hr6ad     امتیاز کاربر : 0     رتبه کاربر : 7069
دسته بندی : سی شارپ

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3724
هوش مصنوعی

پاسخ هوش مصنوعی

برای ریسپانسیو کردن کامپوننت ها در فرم های ویندوزی با استفاده از C#، می توانید به نکات زیر توجه کنید:

1. **استفاده از Anchor و Dock**: خاصیت های Anchor و Dock در کنترل ها به شما این امکان را می دهند که کنترل ها را به اطراف فرم متصل کنید. به این ترتیب هنگام تغییر اندازه فرم، مکان و اندازه کنترل ها نیز تغییر می کند.

// مثال برای استفاده از Anchor
yourListBox.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;

2. **تنظیم اندازه و مکان کنترل ها در رویداد Resize فرم**: می توانید اندازه و مکان کنترل ها را در رویداد Resize فرم تنظیم کنید تا در هر بار تغییر اندازه فرم، موقعیت کنترل ها به درستی تغییر یابد.

private void YourForm_Resize(object sender, EventArgs e)
{
    yourListBox.Width = this.ClientSize.Width - 20; // 20 برای حاشیه
    yourListBox.Height = this.ClientSize.Height - 20;
}

3. **استفاده از TableLayoutPanel یا FlowLayoutPanel**: این کنترل ها به شما کمک می کنند تا کنترل ها را به صورت خودکار و منظم بچینید و به تغییر اندازه فرم پاسخ دهند.

// نمونه ای از استفاده از TableLayoutPanel
TableLayoutPanel tableLayoutPanel = new TableLayoutPanel();
tableLayoutPanel.Dock = DockStyle.Fill;
this.Controls.Add(tableLayoutPanel);
tableLayoutPanel.Controls.Add(yourListBox, 0, 0); // اضافه کردن لیست باکس به TableLayoutPanel

با رعایت این نکات، می توانید اطمینان حاصل کنید که کنترل های شما در فرم به درستی و متناسب با اندازه فرم جا به جا می شوند.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 16:02 1400/12/25

براي اينکه فرم هاي ويندوزي شما در ويژوال استوديو ريسپانسيو باشه يعني با تغيير سايز اندازه فرم اجزا هم متناسب با اون کوچک و بزرگ بشن چند راه وجود داره. يکي از اونه اينه که بايد از يک Property به نام Dock و همچنين خاصيت ديگه اي به نام Anchor استفاده کنيد. همه کامپوننت ها اين دو تا خاصيت رو دارن. توسط تنظيم اين دو خاصيت ميتونيد ابعاد و موضعيت کنترلها رو نسبت به تغيير ابعاد تعيين کنيد.

اگر در مورد این دو خاصیت اطلاعاتی ندارید میتونید از سایت خود مایکروسافت در مورد کارکردشون مطالعه کنید.

How to dock and anchor controls (Windows Forms .NET)

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
پاسخ دهنده : m3hr6ad 23:21 1400/12/25

با سلام

سایز فرم من fixed هست و ثابت ، و فقط در یک رزولوشن طراحی و اجرا میشه.

اصولا نرم افزار تهیه شده در یک سیستم دیگه این مشکل رو پدیدار میکنه. ولی کلا من رو یک لپتاب و رزولوشن هستم. انگار لیست باکس به سایزی که من تعریف کردم توجهی نمیکنه

ویرایش شده در پنج شنبه 26 اسفند 1400 ساعت 12:08:17
به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7069
پاسخ دهنده : m3hr6ad 14:59 1400/12/27

مثال : سایزی که تعریف میکنم

 

و چیز که تحویل میده :

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7069
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود