PDA

View Full Version : سوال: مشکل با اندازه ارتفاع اتوماتیک TextBox



h_arman
سه شنبه 31 فروردین 1389, 07:04 صبح
سلام خدمت دوستان
همونطور که میدونید در برنامه های دات نتی (ویژال بیسیک و سی شارپ) وقتی یک تکست باکس روی فرم قرار میدیم خود ویژوال استودیو ارتفاع اون را بر اساس اندازه فونت تنظیم میکنه. یعنی اگر بخواهیم ارتفاع تکست باکس با تغییر بدیم باید اندازه فونت اون را تغییر بدیم.

برای اعداد اگه بخواهیم فارسی نمایش داده بشن راحت ترین راه اینه که از فونتهای فارسی استفاده کنیم. برای اینکه این اعداد خوانا باشن باید از اندازه فونت حداقل 16 باشه ولی مشکل اینه که در این حالت ارتفاع تکست باکس خیلی زیاد میشه و باعث زشت شدن ظاهر فرم میشه. جالبتر اینکه از این ارتفاع حدود نصف اون بی استفاده می مونه. همونطور که توی تصویر می بینید قسمتهایی که به رنگ زرد هست خالی میمونه و استفاده نمیشه.

دوستان اگه راه حلی برای این مشکل دارن لطف کنن و جواب بدن


با تشکر

Marzieh_A
سه شنبه 31 فروردین 1389, 23:15 عصر
می تونی textbox مورد نظرت رو داخل یه panel بزاری و سایز panel رو کوچکتر از textbox بگیری و بعد جای textbox رو طوری تنظیم کنی که جایی که میخوای دیده بشه.

h_arman
چهارشنبه 01 اردیبهشت 1389, 08:50 صبح
دوست عزیز
راه حل شما جواب میدهد و فعلا کار من را حل کرد. از شما ممنونم

ولی به نظر من باید راه حل بهتری باشد. چون با این راه حل به ازای هر تکست باکس یه پنل به فرم اضافه کنیم

دوستان اگه راه حل دیگری سراغ دارن لطف کنن لطف کنن

M.YasPro
دوشنبه 06 اردیبهشت 1389, 08:18 صبح
سلام
میتونید خاصیت TextBox.MultiLine رو true کنید تا اندازه های اون برای شما قابل تغییر باشه .

موفق باشید .

behnam25214
دوشنبه 06 اردیبهشت 1389, 08:22 صبح
سلام

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

exlord
دوشنبه 06 اردیبهشت 1389, 10:21 صبح
http://www.codeproject.com/KB/cs/SetTextBoxHeight.aspx

h_arman
سه شنبه 07 اردیبهشت 1389, 12:42 عصر
http://www.codeproject.com/KB/cs/SetTextBoxHeight.aspx

کمترین کمکی که این لینک به من کرد این بود که تقریبا مطمئن شدم باید برم دنبال دستکاری فونت

چون ظاهرا این فضاهای اضافه مال خود فونته

h_arman
سه شنبه 07 اردیبهشت 1389, 12:46 عصر
میتونید خاصیت TextBox.MultiLine رو true کنید تا اندازه های اون برای شما قابل تغییر باشه .

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


به هر حال از کمکتون ممنونم

Marzieh_A
سه شنبه 07 اردیبهشت 1389, 23:02 عصر
دوست عزیز
راه حل شما جواب میدهد و فعلا کار من را حل کرد. از شما ممنونم

ولی به نظر من باید راه حل بهتری باشد. چون با این راه حل به ازای هر تکست باکس یه پنل به فرم اضافه کنیم

دوستان اگه راه حل دیگری سراغ دارن لطف کنن لطف کنن

مسلما باید راه حل بهتری وجود داشته باشه اما در نهایت اگر راه دیگه ای پیدا نکردید می تونید این textbox و panel رو به صورت یه usercontrol ایجاد کنید و استفاده کنید که نیازی به کارهای تکراری نباشه