C# 当我的窗体打开时,如何使背景变暗?
我正在编写应用程序,其中一部分是open textbox。当文本框打开时,我想要暗背景 我在这里找到了解决方案: 但是,它不适合我 这是我的密码:C# 当我的窗体打开时,如何使背景变暗?,c#,winforms,textbox,C#,Winforms,Textbox,我正在编写应用程序,其中一部分是open textbox。当文本框打开时,我想要暗背景 我在这里找到了解决方案: 但是,它不适合我 这是我的密码: private void App_Load(object sender, EventArgs e) { this.Text = "TestApp"; this.Size = new Size(350, 250); this.BackColor
private void App_Load(object sender, EventArgs e)
{
this.Text = "TestApp";
this.Size = new Size(350, 250);
this.BackColor = Color.DarkGray;
this.Location = new Point(50, 50);
this.MaximizeBox = false;
TextBox.BackColor = Color.WhiteSmoke;
TextBox.Multiline = true;
TextBox.Size = new Size(200, 90);
Button.Text = "Search";
Bitmap bmp = new Bitmap(this.ClientRectangle.Width, this.ClientRectangle.Height);
using (Graphics G = Graphics.FromImage(bmp))
{
G.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
G.CopyFromScreen(this.PointToScreen(new Point(0, 0)), new Point(0, 0), this.ClientRectangle.Size);
double percent = 0.60;
Color darken = Color.FromArgb((int)(255 * percent), Color.Black);
using (Brush brsh = new SolidBrush(darken))
{
G.FillRectangle(brsh, this.ClientRectangle);
}
}
using (Panel p = new Panel())
{
p.Location = new Point(0, 0);
p.Size = this.ClientRectangle.Size;
p.BackgroundImage = bmp;
this.Controls.Add(p);
p.BringToFront();
// display your dialog somehow:
Form frm = new Form();
frm.StartPosition = FormStartPosition.Manual;
frm.ShowDialog(this);
}
}
我收到这个:
也许有人能指出我的错误在哪里
编辑:我已经找到了解决方案,问题还不够清楚
当文本框打开时,我想要暗背景
所以你希望文本框是黑色的,而不是完整的表单
几乎总是当你认为你必须自己画画的时候,再想想。很少有必要画画。只有在没有任何标准选项的情况下才能这样做
只需设置文本框的属性背景。使用VisualStudio designer执行此操作。
如果不想使用设计器执行此操作,请在InitializeComponent之后在构造函数中执行此操作:
public MyForm()
{
InitializeComponent();
// text box dark background:
this.textBox1.BackColor = Color.Black;
}
如果希望完整表单为黑色,请再次使用visual studio designer,或添加:
InitializeComponent();
this.BackColor = Color.Black;
你能解释一下你希望它看起来是什么样子吗?文本框打开了,背景变暗了。但是你的图片似乎表明这已经起作用了。所有的显示,我的意思是。然后你需要一个窗口延伸到整个显示从回答到评论,似乎OP希望整个屏幕变暗,不是文本框。所以我给出了两个答案。未来只想为一个控件的背景着色的读者会知道这也是可能的