PDA

View Full Version : سوال: مشکل فرم شبیه عکس



Apache66
یک شنبه 31 فروردین 1393, 22:10 عصر
سلام
من برای یکی از فرم هام از خاصیتی استفاده کردم که فرمم شبیه عکسی که دارم بشود
کدش اینه

Rectangle rc;//
Image MYBGimage = this.BackgroundImage;
Bitmap MYBGbmp = new Bitmap(MYBGimage);
for (int i = 0; i < MYBGbmp.Width; i++)
{
for (int j = 0; j < MYBGbmp.Height; j++)
{
rc = new Rectangle(i, j, 1, 1);


if (MYBGbmp.GetPixel(i, j).ToArgb() != Color.Empty.ToArgb())
{
gpath.AddRectangle(rc);
}
}
}
this.Region = new Region(gpath);


روی این فرمم یک لیبیل دارم که نوشته متحرک داره
ولی وقتی این لیبل نوشته هاش حرکت میکنه از عکسم که برای فرم گذاشتم میزنه بیرون و حالت مستطیل شکل لیبل مشخص میشه
من میخوام محل لیبل مشخص نباشه :ناراحت:
میشه کمکم کنید

behzadkhan
یک شنبه 31 فروردین 1393, 22:23 عصر
با سلام

ببین این لینک زیر کمکت می کنه:
=========================
http://stackoverflow.com/questions/9387267/transparent-background-label-over-picturebox

با تشکر

Apache66
یک شنبه 31 فروردین 1393, 22:28 عصر
عکسی که میگم بکگراند فرم هست نه توی pictureBox

behzadkhan
یک شنبه 31 فروردین 1393, 22:33 عصر
با سلام

ببین تغییری که ایجاد کردم کمکت می کنه:
=================================


private void Form1_Load(object sender, EventArgs e)
{
var pos = this.PointToScreen(label1.Location);
pos = this.PointToClient(pos);
label1.Parent = this;
label1.Location = pos;
label1.BackColor = Color.Transparent;
{



با تشکر

golestan1
دوشنبه 01 اردیبهشت 1393, 00:21 صبح
شاید به درد بخوره
حذف رنگ کادر اطراف Label قرار گرفته روي عکس

بار ها پيش اومده ميخوايم يک Label رو روي عکسي قرار دهيم با تغيير رنگ به Transparent هم اين مشکل حل نشده الان ميخوام کدي به شما معرفي کنم که اين مشکل رو براتون حل ميکنه براي مثال ميتونيد کد رو در Load_Form بنويسيد
موفق باشيد.

var pos = this.PointToScreen(label12.Location);
pos = pictureBox1.PointToClient(pos);
label12.Parent = pictureBox1;
label12.Location = pos;
label12.BackColor = Color.Transparent;

Apache66
سه شنبه 02 اردیبهشت 1393, 09:50 صبح
با سلام

ببین تغییری که ایجاد کردم کمکت می کنه:
=================================


private void Form1_Load(object sender, EventArgs e)
{
var pos = this.PointToScreen(label1.Location);
pos = this.PointToClient(pos);
label1.Parent = this;
label1.Location = pos;
label1.BackColor = Color.Transparent;
{



با تشکر

نه مشکل همچنان باقی است


شاید به درد بخوره
حذف رنگ کادر اطراف Label قرار گرفته روي عکس

بار ها پيش اومده ميخوايم يک Label رو روي عکسي قرار دهيم با تغيير رنگ به Transparent هم اين مشکل حل نشده الان ميخوام کدي به شما معرفي کنم که اين مشکل رو براتون حل ميکنه براي مثال ميتونيد کد رو در Load_Form بنويسيد
موفق باشيد.

var pos = this.PointToScreen(label12.Location);
pos = pictureBox1.PointToClient(pos);
label12.Parent = pictureBox1;
label12.Location = pos;
label12.BackColor = Color.Transparent;

لیبل من روی pictureBox نیست
روی فرم هست.وقتی نوشته هام حرکت میکنه گوشه های لیبل مشخص میشه

Apache66
سه شنبه 02 اردیبهشت 1393, 12:10 عصر
پروژه رو گذاشتم
یک نگاه بکنید
وقتی متن حرکت میکنه گوشه های لیبل هم نشون میده
میخوام این گوشه ها حذف بشه

behzadkhan
سه شنبه 02 اردیبهشت 1393, 13:46 عصر
با سلام

وقتی برنامه (بدون تغییر) اجرا شد طبقه گقته شما بدون نشان دادن لبه لیبل اجرا می شود:
==================================================
118249

================================================== ===

در ویندوز XP و 7 تست شد.

اگر تصویری که می بینید غیر از آن چیزی هست که شما می گویید بیشتر توضیح دهید.

با تشکر

xxnagin
سه شنبه 02 اردیبهشت 1393, 20:00 عصر
سلام
رنگ Background فرم و TransparencyKey رو هم رنگ هم قرار بده
هر رنگی Background بود TransparencyKey رو هم همون رنگ کن
این دیگه باید درست بشه
تو ویندوز 8 تست شده

Apache66
سه شنبه 02 اردیبهشت 1393, 21:23 عصر
با سلام

وقتی برنامه (بدون تغییر) اجرا شد طبقه گقته شما بدون نشان دادن لبه لیبل اجرا می شود:
==================================================
118249

================================================== ===

در ویندوز XP و 7 تست شد.

اگر تصویری که می بینید غیر از آن چیزی هست که شما می گویید بیشتر توضیح دهید.

با تشکر

شما ویژوال استدیو رو minimize کنید لبه لیبل مشخص میشه

Apache66
سه شنبه 02 اردیبهشت 1393, 21:25 عصر
سلام
رنگ Background فرم و TransparencyKey رو هم رنگ هم قرار بده
هر رنگی Background بود TransparencyKey رو هم همون رنگ کن
این دیگه باید درست بشه
تو ویندوز 8 تست شده




بازم نمیشه
باید رنگ بکرگراند لیبل Transparent بذارم که نوشته ها مشخص بشه روی عکس قرار گرفته

xxnagin
سه شنبه 02 اردیبهشت 1393, 21:36 عصر
TransparencyKey فرم رو دارم میگم اشتباه نگیری با Transparent لیبل

رنگ Background فرم و TransparencyKey رو رنگ مشکی قرار بده به لیبل اصلا مربوط نیس رنگ لیبل Transparent باید باشه

Apache66
پنج شنبه 06 فروردین 1394, 11:37 صبح
دوستان یک مشکل جدید دارم میخوام تغییر شکل فرم به دست کاربر باشه
یعنی اگر روی دکمه ای کلیک کرد فرم تغییر کنه به شکل داده در غیر این صورت بدون تغییر باشه
میشه یه کمکی کنید که این کد رو چطوری برگردونمش؟

private GraphicsPath gpath = new GraphicsPath();
Rectangle rc;//
Image MYBGimage = this.BackgroundImage;
Bitmap MYBGbmp = new Bitmap(MYBGimage);
for (int i = 0; i < MYBGbmp.Width; i++)
{
for (int j = 0; j < MYBGbmp.Height; j++)
{
rc = new Rectangle(i, j, 1, 1);


if (MYBGbmp.GetPixel(i, j).ToArgb() != Color.Empty.ToArgb())
{
gpath.AddRectangle(rc);
}
}
}
this.Region = new Region(gpath);

Apache66
جمعه 07 فروردین 1394, 15:34 عصر
دوستان هر کاری میکنم نمیشه!
میخوام با زدن یه دکمه فرم برگرده به حالت اولیش
لطفا کمکم کنید