gpt4 book ai didi

C# 将焦点属性应用于 FlowLayoutPanel,如按钮行为

转载 作者:行者123 更新时间:2023-11-30 20:38:05 26 4
gpt4 key购买 nike

我正在尝试将焦点行为(类似于按钮蓝色边框)应用到 FlowLayoutPanel。我尝试使用 GotFocus 和 LostFocus,但显然这不是正确的方法。

private void FlowLayoutPanel_Click(object sender, EventArgs e)
{
(sender as Control).BackColor = SystemColors.GradientActiveCaption;
//More operations.
}

private void Panel_LostFocus(object sender, System.EventArgs e)
{
(sender as Control).BackColor = default(Color);
//More operations.
}

当点击 FlowLayoutPanel 时没有任何反应,而当使用选项卡时,这两个事件被一个接一个地调用。

有什么建议吗?

最佳答案

FlowLayoutPanel默认情况下不是可选择的控件。您可以通过从 FlowLayoutPanel 派生并设置 SelectableUserMouse control styles 来创建自定义流布局面板。使其可以通过鼠标选择。同样要接受制表位,将 TabStop 属性设置为 true:

class ExFlowLayoutPanel:FlowLayoutPanel
{
public ExFlowLayoutPanel():base()
{
SetStyle(ControlStyles.Selectable, true);
SetStyle(ControlStyles.UserMouse, true);
TabStop = true;
}
}

然后你可以处理GotFocusLostFocusEnterLeave事件。

关于C# 将焦点属性应用于 FlowLayoutPanel,如按钮行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35409786/

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