如何使用函数更改窗体中对象的属性?

本文关键字:对象 属性 窗体 何使用 函数 | 更新日期: 2023-09-27 17:53:57

假设您正在尝试设置标签的文本。通过这样做,您调用一个函数SetText(labelname, "texthere")。SetText 'header'是什么?

我在:

private void SetText(object foo, string bar) 

但这不起作用

编辑:我有这个:

private void SetText(Control thing, string text)
{
if (this.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
Invoke(d, new object[] { text });
}
else
{
thing.Text = text;
}
}

但是它说的是参数个数无效。我需要改变什么?

如何使用函数更改窗体中对象的属性?

使用Control class代替Object,因为前者定义了控件(具有可视表示的组件)的基类并公开了Text属性。

private void SetText(Control control, String text)
{
    control.Text = text;
}
像这样的

,您不需要框化/强制转换对象。否则,您还应该指定对象的类型,如您可以传递TextBox, Label等。

可能是因为您引用了错误的对象,请尝试:

private void SetText(ref object foo, string bar)

注意ref关键字