Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有图像和不可见文本属性的按钮_C#_.net_Winforms_Button - Fatal编程技术网

C# 具有图像和不可见文本属性的按钮

C# 具有图像和不可见文本属性的按钮,c#,.net,winforms,button,C#,.net,Winforms,Button,我可以同时创建一个具有.Image和.Text属性的按钮吗?这样,文本在表单上是不可见的,而创建它只是为了确定按钮当前应该做什么 使用TextAlign和TextImageRelation属性没有帮助。文本始终可见,只是位置发生变化 private System.Windows.Forms.Button bRenameCourse; this.bRenameCourse.BackColor = System.Drawing.SystemColors.ButtonFace; this.bRen

我可以同时创建一个具有.Image和.Text属性的按钮吗?这样,文本在表单上是不可见的,而创建它只是为了确定按钮当前应该做什么

使用TextAlign和TextImageRelation属性没有帮助。文本始终可见,只是位置发生变化

private System.Windows.Forms.Button bRenameCourse;

this.bRenameCourse.BackColor = System.Drawing.SystemColors.ButtonFace;

this.bRenameCourse.Image = ((System.Drawing.Image)(resources.GetObject("bRenameCourse.Image")));
this.bRenameCourse.Location = new System.Drawing.Point(966, 6);
this.bRenameCourse.Name = "bRenameCourse";
我希望此文本“重命名”在按钮上不可见

this.bRenameCourse.Text = "Rename";
this.bRenameCourse.Size = new System.Drawing.Size(64, 60);
this.bRenameCourse.TabIndex = 10;
this.bRenameCourse.UseVisualStyleBackColor = false;
this.bRenameCourse.Click += new System.EventHandler(this.bRenameCourse_Click);
以下是为什么我希望它能工作:

private void bRenameCourse_Click(object sender, EventArgs e)
{
    if (bRenameCourse.Text.Equals("Rename"))
    {
        //DO SMTHNG
        bRenameCourse.Text = "OK";
    }
    else if (bRenameCourse.Text.Equals("OK"))
    {
        //DO SMTHNG
        bRenameCourse.Text = "Rename";
    }
}

我可以使用一些标志来避免这种情况,但我想知道一般来说是否可行。

不要使用按钮的
.Text
属性来存储信息。您可以使用
.Tag
属性

如果

private void bRenameCourse_Click(object sender, EventArgs e)
{
    if (bRenameCourse.Tag.Equals("Rename"))
    {
        //DO SMTHNG
        bRenameCourse.Tag = "OK";
    }
    else if (bRenameCourse.Tag.Equals("OK"))
    {
        //DO SMTHNG
        bRenameCourse.Tag = "Rename";
    }
}

只需将
.Text
属性设置为
(空白或空)

可能的解决方案之一是使用.Image.Tag。但我觉得这不是一个好的做法…太好了!我找到了.Image.Tag属性,但没有看到按钮的标签:)谢谢。
private void bRenameCourse_Click(object sender, EventArgs e)
{
    if (bRenameCourse.Tag.Equals("Rename"))
    {
        //DO SMTHNG
        bRenameCourse.Tag = "OK";
    }
    else if (bRenameCourse.Tag.Equals("OK"))
    {
        //DO SMTHNG
        bRenameCourse.Tag = "Rename";
    }
}