سلام دوستان
وقتی می خام چند تا رشته رو با هم جمع بزنم اگر یکیش حاوی کاراکتر انگلیسی باشه ترتیب هنگام اجرا بهم می خوره و متن مورد نظر اشتباه می شه .
برای حل این مشکل چکار کنم؟
مرسی
سلام دوستان
وقتی می خام چند تا رشته رو با هم جمع بزنم اگر یکیش حاوی کاراکتر انگلیسی باشه ترتیب هنگام اجرا بهم می خوره و متن مورد نظر اشتباه می شه .
برای حل این مشکل چکار کنم؟
مرسی
منظورتون چیه که رشته رو قاطی نشون میده ؟
شما رشته حاصله رو تو هر جا که بخواهی نشون بدی ، کافیه Righttoleft اونو دستکاری کنی .
به توصیه «seven7777777» گوش کن. برای کسب اطلاعات بیشتر به ضمیمه شماره ۹ استاندارد یونیکد که بخشی از استاندارد ۶۲۱۹ سازمان استاندارد هم هست توجه کن.
شما باید از خاصیت direction استفاده کنید نه از alignment. اگر از کنترلهایی استفاده میکنید که direction ندارند یا direction آنها ایراد دارد از کاراکترهای یونیکد مخصوص این کار استفاده کنید. کاراکتر RIGHT-TO-LEFT EMBEDDING با کد U+202B را اول هر رشتهای که بگذارید آن رشته به صورت کاملا راست به چپ نمایش داده میشود. برای نمایش رشتهها به صورت کاملا چپ به راست از کاراکتر LEFT-TO-RIGHT OVERRIDE با کد U+202D استفاده کنید.
برای کسب اطلاع بیشتر به استانداردهای ۶۲۱۹ و ۹۱۴۷ و ابزارک «فردیس» در آدرس http://fardis.codeplex.com/ مراجعه کنید.
دوست عزیز در مسیج باکس خاصیت دیگه ای وجود داره که باید به شکل زیر تغییر بدی :
MessageBox.Show(error,"خطا",MessageBoxButtons.OK,MessageBoxIcon.Error,
MessageBoxDefaultButton.Button1,MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign);
RtlReading همون چیزیه که شما می خوای و نوشته هاتم درست نمایش داده میشه .