C# 使用动态名称更改按钮图像
如果按钮文本包含在我的C# 使用动态名称更改按钮图像,c#,C#,如果按钮文本包含在我的列表中,如何更改按钮图像 我已经在字典中添加了我的按钮名称和文本。我还有我的房间名字的清单。 我在表格上有40个按钮,每个按钮上都有数字。每个按钮代表一个房间,按钮文本为房间号。我的房间是预订房间列表。我正在尝试更改已预订按钮的图片。所以我不是在试图改变文本,我是在试图改变按钮的图像。谢谢 foreach (int roomN in NameRoom) { if (dictionary.ContainsKey(roomN)) { string
列表中,如何更改按钮图像
我已经在字典中添加了我的按钮名称和文本。我还有我的房间名字的清单。
我在表格上有40个按钮,每个按钮上都有数字。每个按钮代表一个房间,按钮文本为房间号。我的房间是预订房间列表。我正在尝试更改已预订按钮的图片。所以我不是在试图改变文本,我是在试图改变按钮的图像。谢谢
foreach (int roomN in NameRoom)
{
if (dictionary.ContainsKey(roomN))
{
string buttonName = dictionary[roomN];
Button button = new Button();
button.Name = buttonName;
//ImageBrush myBrush = new ImageBrush();
//var urisource = new Uri(@"Resources\dolu.jpg", UriKind.Relative);
//myBrush.ImageSource = new BitmapImage(urisource);
//button.BackgroundImage = myBrush;
button.Image = ((System.Drawing.Image)(Properties.Resources.Merdivan));
//button.Image = System.Drawing.Image.FromFile(@"Resources\dolu.jpg");
}
}
按钮名称。您必须给出使用名称的上下文。我相信你想说文字
Button button = new Button();
button.Text = "Something"
这将更改按钮上显示的文本。如果您真的想更改名称,请告诉我们这样做的原因和一些上下文
干杯WinForms?如果是,请尝试以下方法:
foreach (int roomN in NameRoom)
{
if (dictionary.ContainsKey(roomN))
{
string buttonName = dictionary[roomN];
Control[] matches = this.Controls.Find(buttonName, true);
if (matches.Length > 0 && matches[0] is Button)
{
Button button = (Button)matches[0];
button.Image = ((System.Drawing.Image)(Properties.Resources.Merdivan));
}
}
}
您是真的想更改名称,还是想更改按钮上显示的文本?您是否真的在任何地方显示此按钮?从你的代码中,我看不出你如何判断这是否有效?该代码只是创建了一个新按钮,并赋予其名称和图像属性。或者我编辑了文本,但它看起来不起作用,并且我的实际问题没有显示出来。我在表格上有40个按钮,每个按钮上都有数字。每个按钮代表一个房间,按钮文本为房间号。我的房间是预订房间列表。我正在尝试更改已重新设置的按钮的图片。所以我不是在试图改变文本,我是在试图改变按钮的图像。谢谢,我编辑了这篇文章,但看起来好像没用,我的实际问题也没有显示出来。我在表格上有40个按钮,每个按钮上都有数字。每个按钮代表一个房间,按钮文本为房间号。我的房间是预订房间列表。我正在尝试更改已重新设置的按钮的图片。所以我不是在试图改变文本,我是在试图改变按钮的图像。谢谢–您每次都在创建新按钮…请尝试查找按钮的实例并对其进行更改