PDA

View Full Version : چگونه چرخش متن داخل یک label را با HSlider تعیین کنیم



god of war 313
شنبه 26 آذر 1401, 21:47 عصر
سلام.

میخواستم بدونم چطوری میتونم متن داخل یک label رو با ابزاری مثل bunifuHSlider تعیین کنم؟

اینکارو موقع اجرا با متد label1_Paint میتونم انجام بدم ولی بعدش دیگه نمیتونم.

با تشکر از برنامه نویسان.

کدی که استفاده کردم
private void label1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.TranslateTransform(30, 20);
e.Graphics.RotateTransform(60);
e.Graphics.DrawString("alireza", new Font("Arial", 11, FontStyle.Bold), new SolidBrush(Color.Black), 0, 0);
e.Dispose();

}

من خودم تلاش کردم ولی خوب نشد.

من اول از کلاس PaintEventArgs یک نمونه ساختم؛ و به جای e.Graphics مثلا ab.Graphics نوشتم ولی بازم خطا داد.

154371

بی زحمت اگه میشه دلیل این پکه خطا میده رو بهم بگین خودم که فکر کردم متوجه نشدم.

ROSTAM2
یک شنبه 27 آذر 1401, 11:22 صبح
سلام اون abc رو از کجا آوری؟! همین که برنامه متوجه شده abc چیه خودش خیلیه :متفکر:

و اینکه bunifuHSlider چه موجودیه؟!

و همچنین منظورت از چرخش متن چیه؟!!!

برای استفاده از گرافیک هر شیء از متود CreateGraphics (https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.control.creategraphics?view=w indowsdesktop-7.0) از اون شیء استفاده میشه، البته خارج از پروسیجرهای شیء که پارامتری با خصوصیت Graphics دارند.

god of war 313
یک شنبه 27 آذر 1401, 13:12 عصر
سلام اون abc رو از کجا آوری؟! همین که برنامه متوجه شده abc چیه خودش خیلیه :متفکر:

و اینکه bunifuHSlider چه موجودیه؟!

و همچنین منظورت از چرخش متن چیه؟!!!

برای استفاده از گرافیک هر شیء از متود CreateGraphics (https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.control.creategraphics?view=w indowsdesktop-7.0) از اون شیء استفاده میشه، البته خارج از پروسیجرهای شیء که پارامتری با خصوصیت Graphics دارند.

abc یک شی از کلاسPaintEventArgs است.

و اینکه bunifuHSlider چه موجودیه؟!
154374

و همچنین منظورت از چرخش متن چیه؟!!!
154375

سلام دوست عزیز من این کد رو نوشتم نشد(بی زحمت یک نگاه بکنید)
Graphics g = label1.CreateGraphics();
g.TranslateTransform(30, 20);
g.RotateTransform(bunifuHSlider1.Value);
g.DrawString("hi", new Font("B Nazanin", 11, FontStyle.Bold), new SolidBrush(Color.Black), 0, 0);
g.Dispose();

ROSTAM2
دوشنبه 28 آذر 1401, 08:38 صبح
دقیقا چه اتفاقی می افته با این دستور.

dispose رو حذف کن!

بعدش هم این دستور رو برای رویداد Paint از لیبل بنویسش و قبل از این دستور از متود Clear استفاده کن/

god of war 313
دوشنبه 28 آذر 1401, 14:50 عصر
دقیقا چه اتفاقی می افته با این دستور.

dispose رو حذف کن!


بعدش هم این دستور رو برای رویداد Paint از لیبل بنویسش و قبل از این دستور از متود Clear استفاده کن/

نشد.

ولی بازم ممنون.

والا قرار بود متن رو بچرخونه.

بعدم من توی دستور paint این کار رو کردم،منظورم این بود که بتونم داخل برنامه این کار رو بکنم.

به هر حال بازم از راهنمایی هاتون ممنونم.

samiasoft
چهارشنبه 30 آذر 1401, 17:53 عصر
فکر میکنم نمونه پروژه و توضیحات لینک زیر درمورد همین مساله ای که دنبالش هستید باشه :

https://www.codeproject.com/Articles/5248739/Rotated-Text-Control-for-NET-Csharp

god of war 313
چهارشنبه 30 آذر 1401, 18:46 عصر
فکر میکنم نمونه پروژه و توضیحات لینک زیر درمورد همین مساله ای که دنبالش هستید باشه :

https://www.codeproject.com/Articles/5248739/Rotated-Text-Control-for-NET-Csharp


ممنون.

از اون چیزی هم که میخواستم کامل تره.