【问题标题】:Create invisible clickable button创建不可见的可点击按钮
【发布时间】:2015-07-17 06:01:43
【问题描述】:

我试图创建一个不可见的可点击按钮,但是当我点击它时,什么都没有发生......

我用来使按钮不可见的代码:

button1.Visible = false;

我想在按钮被点击时显示一张图片(在它变得不可见之后)

【问题讨论】:

标签: c# visual-studio button


【解决方案1】:

试试这个而不是Invisible属性:

button1.FlatStyle = FlatStyle.Flat;
button1.FlatAppearance.BorderColor = BackColor;
button1.FlatAppearance.MouseOverBackColor = BackColor;
button1.FlatAppearance.MouseDownBackColor = BackColor;

【讨论】:

    【解决方案2】:

    试试这个

     private void CreateButton()
        {
            button1 = new Button();
            button1.FlatAppearance.BorderSize = 0;
            button1.FlatAppearance.MouseDownBackColor = Color.Transparent;
            button1.FlatAppearance.MouseOverBackColor = Color.Transparent;
            button1.FlatStyle = FlatStyle.Flat;
            button1.ForeColor = BackColor;
            button1.Location = new Point(197, 226); //Give your own location as needed
            button1.Name = "button1";
            button1.Size = new Size(75, 23);
            button1.TabIndex = 0;
            button1.Text = "button1";
            button1.UseVisualStyleBackColor = true;
            button1.Click += this.button1_Click;
            Controls.Add(button1);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("clicked");
        }
    

    【讨论】:

      【解决方案3】:

      首先从工具箱中拖入一个全新的按钮。离开属性列表而不是通过代码手动执行,更改以下设置应该可以获得所需的结果。

      | Property                          | Settings    |
      ---------------------------------------------------
      | BackColor                         | Transparent |
      | FlatStyle                         | Flat        |
      | FlatAppearance.MouseDownBackColor | Transparent |
      | FlatAppearance.MouseOverBackColor | Transparent |
      | ForeColor                         | Transparent |
      | UseVisualStyleBackColor           | False       |
      

      【讨论】:

        【解决方案4】:

        对我有用的一个选项是我只是将它隐藏在另一个控件后面。

        在表单设计器中执行此操作:

        1. 将要隐藏的按钮放在表单上的任意位置(放在较大的多行文本框上效果很好)。
        2. 右键单击按钮。
        3. 点击“发送到后面”选项。

        【讨论】:

          【解决方案5】:

          可以这么简单

          button1.Opacity = 0;
          

          为了提高安全性,添加类似这样的内容

          button1.IsEnabled = false;
          

          【讨论】:

            猜你喜欢
            • 2018-01-05
            • 2020-11-24
            • 1970-01-01
            • 2013-04-02
            • 1970-01-01
            • 2020-05-15
            • 1970-01-01
            • 2018-05-28
            • 1970-01-01
            相关资源
            最近更新 更多