1
我想在任何具有焦点的控件上绘制边框,当控件不再具有焦点时,边框必须消失。我曾尝试在下面的代码中绘制边框,但我不知道如何在边框消失之前将其绘制。当控件聚焦时绘制边框
void mButton_Paint(object sender, PaintEventArgs e) {
ControlPaint.DrawBorder(e.Graphics, ((Control)sender).ClientRectangle, Color.DarkBlue, ButtonBorderStyle.Solid);
}
你想把边界放在控件内还是外边?容器内是否有任何控件?有些控件甚至没有关注。你的问题太模糊了。更加详细一些。 – 2015-04-01 03:14:45
用'if((Control)sender == ActiveControl)给paint代码添加前缀。“Paint由系统触发,至少对于按钮和其他控件来说,无论如何都会改变焦点。对于其他人,您需要观看离开/进入事件。 – TaW 2015-04-01 06:01:44
我编辑了我的答案,小小的优化。 – RenniePet 2015-04-01 14:06:06