C# 具有图像和不可见文本属性的按钮
我可以同时创建一个具有.Image和.Text属性的按钮吗?这样,文本在表单上是不可见的,而创建它只是为了确定按钮当前应该做什么 使用TextAlign和TextImageRelation属性没有帮助。文本始终可见,只是位置发生变化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
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";
}
}