[英]How to add text to an existing shape(textbox) in C# Excel Interop
[英]How to use ColorDialog to place text in Textbox in C# / Excel Interop
如何使用colorDialog將顏色的文本版本放入文本框? 我有一個文本框,單擊旁邊的按鈕后會彈出colorDialog。 顏色的文字進入文本框,但最終結果為“顏色[綠色]”形式,而不僅僅是“綠色”形式。 有一個更好的方法嗎。 我當前的代碼如下:
public partial class ColorTie : Form
{
public ColorTie()
{
InitializeComponent();
}
private void ColorTie_Load(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
colorDialog1.ShowDialog();
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = colorDialog1.Color.ToString();
}
}
}
您可以在PictureBox中設置顏色,這是可視化和記住顏色選擇的最佳方法:
private void button1_Click(object sender, EventArgs e)
{
ColorDialog cd = new ColorDialog();
if (cd.ShowDialog() == DialogResult.OK)
{
MessageBox.Show(cd.Color.ToString());
pictureBox1.BackColor = cd.Color;
}
}
如果我正確理解了您的問題,則認為您要查找的屬性是Color.Name
。
如果用戶從對話框中選擇紅色,則colorDialog1.Color.Name
將返回字符串“ Red”。 不過要當心,因為用戶可能選擇的顏色沒有Color.Name屬性值。 為了防止這種情況,您可以檢查Color.IsNamedColor
屬性 ; 如果是真的,則可以使用我所描述的Color.Name
(否則,您將獲得RGB值)。
像這樣:
if (colorDialog1.ShowDialog() == DialogResult.OK) {
if (colorDialog1.Color.IsNamedColor) {
Console.WriteLine("Named color: {0}", colorDialog1.Color.Name);
}
}
嘗試這個:
textBox1.Text = colorDialog1.Color.Name;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.