据我所知,这些是按钮具有焦点时唯一的反应键.
Enter即使您按下按键,也会立即按下"按下"按钮.(所以'点击'发生在KeyDown上).
按下的Space动作更像是正常的鼠标点击; 按住它不会激活Click事件,但一旦释放它就会执行.(所以"点击"发生在KeyUp或KeyPressed上.)
为什么不同?我想要一篇关于这个主题的好文章,或者只是一个逻辑解释,为什么这两个键有不同的行为.当然有一个解释!
我在VB6中使用了ac #control,它基本上是一个带圆角的面板.我想知道是否有办法使控件成为一个容器,有点像Frame是一个容器.基本上我希望能够把东西放在里面,这样它们就可以一起移动,最重要的是把东西放在它的前面.
现在,如果我在它上面放置一个标签或命令,它就会落后于我的COM控件并使用Bring to Front
并且Send to Back
什么都不做.
我是否需要在vb6中将其声明为容器?代码必须来自c#吗?
编辑:
我签了一份NDA,所以我不能在这里发布完整的代码,但我会发布一些并解释一下.
public class AzPanel : Panel
{
protected const int BORDER_WIDTH = 3;
protected int BORDER_RADIUS = 4;
private object _lock = new object();
private bool regionNeedsRefresh = false;
public AzPanel() : base()
{
this.SetStyle(
ControlStyles.DoubleBuffer |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
this.SetStyle(ControlStyles.Selectable, false);
base.BackColor = Color.Transparent;
this.BorderColor = Color.DarkRed;
this.ContentColor = Color.DarkGoldenrod;
this.DoubleBuffered = true;
base.Padding = new Padding(3, 3, 4, 4);
} …
Run Code Online (Sandbox Code Playgroud)