PDA

View Full Version : رایت تو لفت (Right to Left) در پیکچر باکس



mahdielectronic
یک شنبه 18 مهر 1389, 17:09 عصر
سلام

دوستان من یک متن رو روی یک پیکچر باکس چاپ میکنم ، (طبق کد هایی که در تاپیک 1001 نکته گزاشته شده بود ) ، ولی یک مشکلی دارم ! ببینید:

http://qhp.ir/images/1x71zusp0i6vg3tdq8j.png

پیکچر باکس رایت تو لفتش فعال نیست! ، چطور در هنگام پرینت رایت تو لفتش رو فعال کنم؟

الان تکست باکس لفت تو رایتش فعاله ببینید چطوریه...

ممنون از کمکتون:لبخندساده:

mehdis2
یک شنبه 18 مهر 1389, 23:48 عصر
سلام
من اين مشكلو تويه تمام تايتل هاي نمودارم و عكسام دارم:ناراحت: نميدونم بايد چيكارش كنم زيام دنبالشم

mehdis2
دوشنبه 19 مهر 1389, 00:02 صبح
سلام
من اين مشكلو تويه تمام تايتل هاي نمودارم و عكسام دارم:ناراحت: نميدونم بايد چيكارش كنم زيام دنبالشم

mahdielectronic
دوشنبه 19 مهر 1389, 13:45 عصر
کسی نیست به ما دو نفر کمک کنه؟:ناراحت:

mahboube
دوشنبه 19 مهر 1389, 16:31 عصر
من الان نميدونم
طوري داري تو picturebox مينويسي ولي يك راه وجود داره كه متنت رو توي يك textbox بنويسي بعد ازش عكس بگيري و توي picture boxت نشون بدي. اونوقت ديگه اين مشكلونداري!!
(اگه خواستي همزمان كه تايپ ميكني تو picturebox بنويسه بايد تو رويدادtextchange تكست باكست عكس بگيري!!!
اميدوارم منظورتو درست فهميده باشم!!
همينو ميخاي ديگه؟؟(پاييني عكسه!)

farhad nadimi
دوشنبه 19 مهر 1389, 19:08 عصر
با سلام

شما برای حل این مشکل بهتره که دستور right to left فرم رو تغییر بدی که در اون صورت کل

اشیایی که به فرمت اضافه می کنی مجبورا از اون خاصیت پیروی کنن من هم اون مشکل رو

داشتم و این کار باعث شد که مشکل من حل بشه.

موفق باشین

mahdielectronic
دوشنبه 19 مهر 1389, 19:24 عصر
نشد:ناراحت:

تابعی که برام چاپ میکنه اینه :



public void RenderRainbowText(string Text, PictureBox pb)
{
// PictureBox needs an image to draw on
pb.Image = new Bitmap(pb.Width, pb.Height);
using (Graphics g = Graphics.FromImage(pb.Image))
{
// create all-white background for drawing
SolidBrush brush = new SolidBrush(Color.White);
g.FillRectangle(brush, 0, 0,
pb.Image.Width, pb.Image.Height);
// draw comma-delimited elements in multiple colors
string[] chunks = Text.Split(',');
brush = new SolidBrush(Color.Black);
SolidBrush[] brushes = new SolidBrush[] {
new SolidBrush(Color.Black),
new SolidBrush(Color.Green),
new SolidBrush(Color.Blue),
new SolidBrush(Color.Purple) };
float x = 0;
for (int i = 0; i < chunks.Length; i++)
{
// draw text in whatever color
g.DrawString(chunks[i], lbl_fontselect.Font, brushes[i], x, vsc_loctext.Value);
// measure text and advance x
x += (g.MeasureString(chunks[i], lbl_fontselect.Font)).Width;
// draw the comma back in, in black
if (i < (chunks.Length - 1))
{
g.DrawString(",", lbl_fontselect.Font, brush, x, 0);
x += (g.MeasureString(",", lbl_fontselect.Font)).Width;
}
}
}
}

farhad nadimi
دوشنبه 19 مهر 1389, 20:24 عصر
با سلام

حالا مشکل شما تا 50 % حل شده ولی این کدها نشان دهنده از خطا در imgbox شماست

این خطا فقط زمانی حل میشه که شما دستوری رو که اون اطلاعات رو در imgbox چاپ می کنه

رو اصلاح کنین چون اطلاعات حاکی از ایجاد مشکل در اون قسمت رو میده

mahdielectronic
دوشنبه 19 مهر 1389, 21:18 عصر
خوب چطور مشکلم رو حل کنم؟

قبلا در VB6 لفت تو رایت مربوط به پیکچر باکس رو که True میکردیم ، مشکلش حل میشد...

mahdielectronic
دوشنبه 19 مهر 1389, 21:26 عصر
ببینید تو این دو تا صفحه یه چیزهایی در مورد این خاصیتش گفته ...ولی نمیدونم باید این کد ها رو چی کار کنم:ناراحت:

http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.aspx

http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.righttoleft.aspx

ممنون میشم اگر از دوستان کسی کمکم کنند:لبخندساده:

mahdielectronic
سه شنبه 20 مهر 1389, 12:39 عصر
دوستان کسی از این دو تا صفحه بالایی چیزی متوجه نمیشه ؟

mahdielectronic
سه شنبه 20 مهر 1389, 23:37 عصر
مشکل حل شد:تشویق: البته با تلاش خودم:لبخند:

نمیدونم چرا خصوصیت به این خوبی رو گزاشتند تو 10 تا آدرس؟:لبخند:


pic_text.Parent.RightToLeft = System.Windows.Forms.RightToLeft.Yes;

mehdis2
چهارشنبه 21 مهر 1389, 01:58 صبح
خوش بحالت:ناراحت: ولي دو جا مشكل دارم نمودارام يه خاصيت تايتل داره كه يه متنو ميگيره خود نمودارم رايت تو لفتشو true كردم نشد يعني باشد متنيو كه ميفرستم خودم دستكاري كنم ميشه؟
يه گزارشم دارم كه از گريد پرينت ميگيره يه خاصيت داره به نام header كه تايتلو ميگره مثل همون خراب ميشه