gpt4 book ai didi

c# - 设计时的火灾事件?

转载 作者:太空狗 更新时间:2023-10-30 00:43:53 25 4
gpt4 key购买 nike

我目前正在设计一个派生自 System.Windows.Forms.Control 的自定义选项卡控件类。问题是在设计时没有触发事件(至少我测试过的事件都没有,包括鼠标和键盘事件)。这对我来说是一个问题,因为无法在设计器中的标签页之间切换对用户来说非常不方便。我一直在做一些研究,似乎我想要完成的事情是不可能的。这让我很奇怪,因为 .NET 框架附带的许多控件都支持设计时交互。以 TabControl 为例。您可以在设计时很好地在其页面之间切换。

所以我的问题是:有没有办法让鼠标和键盘事件在设计时起作用?

另外,很抱歉我没有提供代码片段。但我认为这真的没有必要。对于那些想要尝试的人,这是我快速创建的一个简单的按钮类:

public class MyButton : Control
{

private bool hover = false;

protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);

Color color = hover ? Color.DarkBlue : Color.Blue;
e.Graphics.FillRectangle(new SolidBrush(color), DisplayRectangle);
e.Graphics.DrawRectangle(Pens.Black, new Rectangle(DisplayRectangle.Location, new Size(DisplayRectangle.Width - 1, DisplayRectangle.Height - 1)));
}

protected override void OnMouseEnter(EventArgs e)
{
base.OnMouseEnter(e);

hover = true;
Refresh();
}

protected override void OnMouseLeave(EventArgs e)
{
base.OnMouseLeave(e);

hover = false;
Refresh();
}

}

您会看到按钮的颜色在设计期间没有改变。

最佳答案

这需要一些工作——设计时交互与运行时是分开的。这可能有帮助:

http://www.codeproject.com/Articles/13531/Targeting-Design-Time-Events-of-User-Controls

关于c# - 设计时的火灾事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com