PDA

View Full Version : محو کردن بکگراند یوزرکنترل



alasht
سه شنبه 04 بهمن 1390, 19:11 عصر
با سلام خدمت دوستان
یه مشکلی برام پیش اومده من میخوام فضای خالی یوزر کنترل به جای رنگ خاکستری بی رنگ باشه
من از قسمت backcolocr رنگ Transparent رو انتخاب میکنم اما فایده ای نداره
به عکس زیر توجه کنید
یوزر کنترل زیری ادامش معلوم نیست در صورتی که در اون قسمت چیزی وجود نداره
من خیلی سرچ کردم اما یه راه حل درست گیر نیاوردم
ممنون میشم دوستان راهنمایی کنند
با تشکر

81381

saied_hacker
سه شنبه 04 بهمن 1390, 19:35 عصر
این کد رو کپی کن تو usercontrol درست میشه

protected override CreateParams CreateParams
{

get
{

CreateParams cp = base.CreateParams;

cp.ExStyle |= 0x00000020;//WS_EX_TRANSPARENT

return cp;

}

}



private int opacity;



public int Opacity
{

get { return opacity; }

set
{

opacity = value;

this.InvalidateEx();

}

}



protected override void OnPaintBackground(PaintEventArgs e)
{

Color bk = Color.FromArgb(Opacity, this.BackColor);

e.Graphics.FillRectangle(new SolidBrush(bk), e.ClipRectangle);

}



protected void InvalidateEx()
{

if (Parent == null)

return;

Rectangle rc = new Rectangle(this.Location, this.Size);

Parent.Invalidate(rc, true);

}
Source (http://www.bobpowell.net/transcontrols.htm)

alasht
سه شنبه 04 بهمن 1390, 20:29 عصر
ممنون از پاسختون
این کد رو خودم تو یکی از سایتای خارجی دیده بودم
در حالت عادی درسته اما من یه کدی نوشتم که میشه یوزر کن کنترل رو جا به جا کرد موقع اجرا که همین باعث میشه خراب بشه
قبلا یه کامپوننتی استفاده میکردم این کار رو انجام میداد اما الان هر چی فکر میکنم اسمش یادم نمیاد
فقط میدونم توش alpha داشت

ya30ien2
سه شنبه 04 بهمن 1390, 23:11 عصر
خاصیت backcolocr رو برابر با رنگی قرار بده که داخل برنامت استفاده نکردی و خاصیت Transparent هم برابر با همون رنگ قرار بده

alasht
سه شنبه 04 بهمن 1390, 23:34 عصر
ممنون از پاسختون ولی متوجه نشدم میشه بیشتر توضیح بدید
اگه با عکس بتونید توضیح بدید بهتره

ya30ien2
چهارشنبه 05 بهمن 1390, 15:15 عصر
اینو ببین
دانلود (http://s2.picofile.com/file/7264531612/Hide.rar.html)

alasht
پنج شنبه 06 بهمن 1390, 14:57 عصر
دوست عزیز این که Trancparency Key هست
من گفتم یوزر کنترل نه فرم
در ضمن اگر از این استفاده کنم کلا اون قسمت از فرم پاک میشه و زیرشون نشون میده