代码之家  ›  专栏  ›  技术社区  ›  MarkP

单击带有图像的C按钮时不会被“推入”

  •  4
  • MarkP  · 技术社区  · 14 年前

    我正在涉猎c_,而且我对它相当缺乏经验。我有一个带文本和图像的按钮。当我运行程序并按下按钮时,按钮和文本一起被按下,但图像保持静止。

    有人知道解决办法吗?

    *编辑:

        this.btnRename.AllowDrop = true;
        this.btnRename.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                    | System.Windows.Forms.AnchorStyles.Right)));
        this.btnRename.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
        this.btnRename.Image = ((System.Drawing.Image)(resources.GetObject("btnRename.Image")));
        this.btnRename.ImageAlign = System.Drawing.ContentAlignment.TopCenter;
        this.btnRename.Location = new System.Drawing.Point(675, 3);
        this.btnRename.Margin = new System.Windows.Forms.Padding(0);
        this.btnRename.Name = "btnRename";
        this.btnRename.Size = new System.Drawing.Size(55, 48);
        this.btnRename.TabIndex = 7;
        this.btnRename.Text = "&Rename";
        this.btnRename.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
        this.btnRename.UseVisualStyleBackColor = false;
        this.btnRename.Click += new System.EventHandler(this.btnRename_Click);
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   KrisTrip    14 年前

    .NET不会自动为您执行此操作,因为它不知道单击按钮时图像会发生什么情况。你希望它更小,向右移动,向左移动…等等。也许你可以实现mousedown和mouseup事件?在mousedown上,您可以让它将图像更改为您希望看到的“pushed in”并将其更改回mouseup上。当然,这涉及到你基本上有两个图像,一个“点击”和一个“正常”版本。