【发布时间】:2011-02-01 08:21:18
【问题描述】:
我制作了一个使用控件作为参数的函数,并使用控件的属性“启用”。
问题是控件的 Enable=false 并且在函数内部它是 true,
有什么想法吗?
protected override void OnPaint(PaintEventArgs pevent)
{
try
{
...
Shared.DrawTextByAlignment(pevent.Graphics, this, this.TextAlign);
}
catch (Exception ex) { MessageBox.Show("Button:OnPaint\n" + ex.Message);
}
static public void DrawTextByAlignment(Graphics g, Control myControl, ContentAlignment TextAlign)
{
...
Brush myBrush;
if (myControl.Enabled) myBrush = new SolidBrush(myControl.ForeColor);
else myBrush = Brushes.Gray;
...
}
【问题讨论】:
-
嗨 - 我们需要一些代码和您正在使用的控件类型
-
您好,可以分享一下您说的方法吗?
-
你能显示你的函数的代码吗?什么时候Enabled==false,什么时候变成true?尝试调试您的应用并在不同时间检查 Enabled 属性以查看它何时更改值。
-
在控件属性的设置器上设置调试断点。让你看到触动的价值。
-
我在调试之后写了这个问题。 enable 属性并没有真正改变只是在函数创建的控件副本中