PDA

View Full Version : سوال: تغییر سایز عناصر فرم با خود فرم



doctor_ali
چهارشنبه 10 تیر 1388, 09:49 صبح
می خواهم, وقتی فرم رو بزرگ میکنم تمام عناصر موجود در آن همراه فرم بزرگ شوند ( با ابعاد مناسب). و وقتی فرم رو کوچک کردم ، دوباره عناصر کوچک شوند.در حال حاظر وقتی فرم رو بزرگ میکنم تمام عناصر موجود در آن جابجا می شوند که اصلا قشنگ نیست

doctor_ali
چهارشنبه 10 تیر 1388, 10:00 صبح
یعنی هیچکی نیس یه سوال ساده رو جواب بده؟؟؟!!!!

doctor_ali
چهارشنبه 10 تیر 1388, 10:01 صبح
:گیج::گیج::گیج::گیج:

Happy_davood
چهارشنبه 10 تیر 1388, 14:18 عصر
از خاصیت Anchor باید استفادع کنید .
مثلاً اگه پراپرتی Anchor از یک TextBox رو به Top | Right | Left تنظیم بکیند اونوقت با تغییر اندازه فرم textBox هم به همون اندازه بزرگ یا کوچیک میشه .
خیلی پراپرتی جالب و به درد بخوری هست که با تنظیم اون می تونید با خیال راحت به کاربرانتون اجازه بدید که فرم ها Maximize یا Restore بککند بدون اینکه ترکیب فرم به هم بخوره

doctor_ali
پنج شنبه 11 تیر 1388, 09:54 صبح
اون خاصیت واسه بزرگ کردن فونت یه textbox فایده نداره
خودم یه کد پیدا کردم :


protected override void OnPaint(PaintEventArgs e)
{
using (Font f = new Font("Tahoma", 1))
{
SizeF size;
using (textBox1.Font = AppropriateFont(e.Graphics, 8, 18, ClientRectangle.Size, "Mobail : 09132639886", f, out size)) { }
}
}
public static Font AppropriateFont(Graphics g, float minFontSize, float maxFontSize, Size layoutSize, string s, Font f, out SizeF extent)
{
if (maxFontSize == minFontSize)
f = new Font(f.FontFamily, minFontSize, f.Style);
extent = g.MeasureString(s, f);
if (maxFontSize <= minFontSize)
return f;
float hRatio = layoutSize.Height / extent.Height;
float wRatio = layoutSize.Width / extent.Width;
float ratio = (hRatio < wRatio) ? hRatio : wRatio;
float newSize = f.Size * ratio;
if (newSize < minFontSize)
newSize = minFontSize;
else if (newSize > maxFontSize)
newSize = maxFontSize;
f = new Font(f.FontFamily, newSize, f.Style);
extent = g.MeasureString(s, f);
return f;
}

doctor_ali
پنج شنبه 11 تیر 1388, 09:55 صبح
نظرتون چیه؟