PDA

View Full Version : سوال: RTL کردن تمام عناصر در Win app به زبان C#‎



pariya1420
چهارشنبه 08 اردیبهشت 1389, 18:46 عصر
سلام به همگی
دوستان چطور می شه کل textbox ها و lableها و هر کامپوننتی رو که بخوایم خاصیت RightToleft رو true کنیم. البته با designer نه چون من یه پروژه بزرگ دارم اگه بخوام تک تک اینارو RightToleft کنم خیلی طول می کشه. فکر می کنم حتماً راهی غیر از این داره.
همین طور برای تنظیم فونت ها و سایزیشون هم اگه راه کاری سراغ داشتین، ممنون می شم راهنمایی بفرمایید.
:گیج:

hojjatshariffam
چهارشنبه 08 اردیبهشت 1389, 19:07 عصر
می تونی یک یوزر کنترل دست کنی که از تکت باکس ارث بری کنه و توش رایت تو لفتشو فعال کنی و هر کجا که خواستی از اون استفاده کنی

البته چون شما پروژتونو تموم کردین (طبق گفته خودتون) دیگه موقع این کار گذشته پس می تونین توی فایل های دیزاینر سرچ بزنین و هرجا کد یک تکست باکس پیدا شد یک خط رایت تو لفت هم براش اضافه کنید

فکر دیگه ای به نظرم نمیرسه

pariya1420
چهارشنبه 08 اردیبهشت 1389, 21:54 عصر
می تونی یک یوزر کنترل دست کنی که از تکت باکس ارث بری کنه و توش رایت تو لفتشو فعال کنی و هر کجا که خواستی از اون استفاده کنی

البته چون شما پروژتونو تموم کردین (طبق گفته خودتون) دیگه موقع این کار گذشته پس می تونین توی فایل های دیزاینر سرچ بزنین و هرجا کد یک تکست باکس پیدا شد یک خط رایت تو لفت هم براش اضافه کنید

فکر دیگه ای به نظرم نمیرسه

ممنون از جوابتون
پروژه رو تازه شروع کردم. یعنی راهی بجز usercontrol نیست؟آخه فقط textbox نیست label, combo,chechbox,............:عصبانی++:
برای تنظیم فونت و ... چی؟ من یکم جاوا کار کردم. جاوا lookAndfeel داره با اون همه چیزش تنظیم می شه. #C همچین چیزی نداره؟

ym3015
چهارشنبه 08 اردیبهشت 1389, 22:50 عصر
سلام
نمی دونم راه حل من منطقی هست یا نه
ولی اگه میخواین همه ی کنترل ها را RTL کنین کافیه توی هر فرم فقط خاصیت RTL مربوط به اون فرم را تغییر بدین.
بقیه ی کنترل ها هم از اون ارث میبرن!

s.khoshfekran
چهارشنبه 08 اردیبهشت 1389, 23:02 عصر
foreach (Control c in this.Controls)
{
c.RightToLeft = RightToLeft.Yes;
}

pariya1420
پنج شنبه 09 اردیبهشت 1389, 08:54 صبح
سلام
نمی دونم راه حل من منطقی هست یا نه
ولی اگه میخواین همه ی کنترل ها را RTL کنین کافیه توی هر فرم فقط خاصیت RTL مربوط به اون فرم را تغییر بدین.
بقیه ی کنترل ها هم از اون ارث میبرن!

با اين كار فقط خود فرم rtl مي شه! minimize , maximize,... مي رن چپ و caption فرم rtl مي شه!

pariya1420
پنج شنبه 09 اردیبهشت 1389, 08:56 صبح
foreach (Control c inthis.Controls)
{
c.RightToLeft = RightToLeft.Yes;
}


ممنون تستش مي كنم.

pariya1420
پنج شنبه 09 اردیبهشت 1389, 08:57 صبح
foreach (Control c inthis.Controls)
{
c.RightToLeft = RightToLeft.Yes;
}

ممنون تستش مي كنم.

exlord
پنج شنبه 09 اردیبهشت 1389, 09:12 صبح
سلام
نمی دونم راه حل من منطقی هست یا نه
ولی اگه میخواین همه ی کنترل ها را RTL کنین کافیه توی هر فرم فقط خاصیت RTL مربوط به اون فرم را تغییر بدین.
بقیه ی کنترل ها هم از اون ارث میبرن!
چرا منطقی نیست مگه نمیگه مه همه کنترل های تو صفحش میخواد rtl بشه ... خوب راهش همینه .... البته بهتر از این هم اینکه یه usercontrol تعریف کنه که از فرم inherit بکنه و توی اون rtl,font,.... و هرچیزه دیگهای رو که میخواد ست کنه و همه فرمهاشو از این فرم ارث ببره ....

pariya1420
سه شنبه 14 اردیبهشت 1389, 13:28 عصر
سلام
نمی دونم راه حل من منطقی هست یا نه
ولی اگه میخواین همه ی کنترل ها را RTL کنین کافیه توی هر فرم فقط خاصیت RTL مربوط به اون فرم را تغییر بدین.
بقیه ی کنترل ها هم از اون ارث میبرن!

ممنون مشکلم حل شد. :تشویق: