我是否可以同时创建一个同时具有.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";
}
}
我可以使用一些标志来避免这种情况,但我想知道一般情况下是否可能。
答案 0 :(得分:2)
不要使用按钮的.Text
属性来存储信息。您可以使用.Tag
属性
即
this.bRenameCourse.Tag = "Rename";
在活动中
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
属性设置为""
(空白或空白)