PDA

View Full Version : سوال: مشکل با رنگ پس زمينه کنترل سفارشي



sds1920
سه شنبه 23 خرداد 1391, 13:18 عصر
سلام خدمت همه دوستان.
من يک کنترل سفارشي سرعت سنج براي پروژه خودم طراحي کردم که در زير عکس اون هست.مشکل من با رنگ پس زمينه ي اون هست که وقتي Background براي فرم قرار مي دم مشکل درست مي شه.
اگر من رنگ پس زمينه فرم رو تغيير بدم مشکلي نيست و درست نمايش مي ده مثل عکس زير


http://img4up.com/up2/63086031562260646121.bmp

ولي اگر براي فرم Background بزارم مشکل ايجاد ميشه مثل عکس زير ميشه


http://img4up.com/up2/28387093844632085931.bmp

اگر رنگ پس زمينه کنترل رو هم Transparent قرار بدم مثل زير نشون مي ده


http://img4up.com/up2/67455103524824852527.bmp

به نظر شما بايد چکارش کنم تا درست بشه؟

اينم کدهايي که نوشتم
88176

ممنون.

tooraj_azizi_1035
سه شنبه 23 خرداد 1391, 13:25 عصر
سلام
سوال شما اینجا جواب داده شده:
http://www.codeproject.com/Articles/25048/How-to-Use-Transparent-Images-and-Labels-in-Window

sds1920
سه شنبه 23 خرداد 1391, 17:48 عصر
با تشکر فراوان.
اما دوتا مشکل هنوز وجود داره.

1)به صورت کامل جزئيات پاک نمي شه.عکس زير رو ببينيد منظور منو مي فهميد


http://img4up.com/up2/91224013290229468867.bmp

شايد مشکل از کدي باشه که من براي اين کار نوشتم.من براي بريدن قسمت پايين بعد از رسم دايره کد زير رو نوشتم:



graphics.FillPolygon(new SolidBrush(this.BackColor),
new PointF[] {
this.center,
new PointF(0, this.Height * .7f),
new PointF(0, this.Height),
new PointF(this.Width, this.Height),
new PointF(this.Width, this.Height * .7f)
});


و اما مشکل دوم با رسم مجدد شکل هست که براي رسم هر شيي خطاي Parameter is not valid رو مي ده.يعني هرجا که توابع رسم گرافيک که قبلا براي رسم شکل فراخوان کردم، فراخواني ميشه اين خطا رو مي ده.

ممنون ميشم اگه اين دوتا مشکلم حل کنيد.

tooraj_azizi_1035
سه شنبه 23 خرداد 1391, 19:48 عصر
چرا دایره رو کامل رسم نمی کنی؟ مثل کنترل Gauge اگه دیده باشی.
سوال دوم:
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/f9e39595-04ca-42ae-a353-eb1a08602631/
http://stackoverflow.com/questions/629955/parameter-not-valid-exception-loading-system-drawing-image