小编Fel*_*lix的帖子

为什么Enter键和空格键对按钮的行为有所不同?

据我所知,这些是按钮具有焦点时唯一的反应键.

Enter即使您按下按键,也会立即按下"按下"按钮.(所以'点击'发生在KeyDown上).

按下的Space动作更像是正常的鼠标点击; 按住它不会激活Click事件,但一旦释放它就会执行.(所以"点击"发生在KeyUp或KeyPressed上.)

为什么不同?我想要一篇关于这个主题的好文章,或者只是一个逻辑解释,为什么这两个键有不同的行为.当然有一个解释!

c# winforms

17
推荐指数
1
解决办法
2690
查看次数

VB6中的COM控件:使容器不受控制

我在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)

c# vb6 com containers

7
推荐指数
1
解决办法
668
查看次数

标签 统计

c# ×2

com ×1

containers ×1

vb6 ×1

winforms ×1