无法向文本框添加值

can't able to add value to textbox

我有一个 datacontrol.cs(UserControl),其中包含 textbox1 和代码隐藏 window,其方法的参数为 currentvalue

public void bindvalue(float currentvalue)
{
    textbox1.Clear();
    textbox1.Text = currentvalue.ToString();
}

我有一个表单,这里在这个表单中添加了用户控件,其中包含一个按钮

因此,当单击按钮时,它通过方法将当前值传递给数据控件 class,就像那样。

private void button_click(object sender, EventArgs e)
{

    float currentvalue = 1500.00f;
    datacontrol  obj = new datacontrol();

    obj.bindvalue(currentvalue);
}

对我来说一切正常。它将当前值传递给用户控件 class,并将当前值 assigned/added 传递给 textbox1.Text = currentvalue.ToString();。它没有显示任何错误。但最终文本框没有显示任何值。

我使用断点来检查功能。它为文本框提供了当前值。但是很奇怪!!!! 我无法预测我的代码有什么问题。 帮助赞赏。:)

您需要将 datacontrol 的实例添加到表单

datacontrol  obj = new datacontrol();
obj.bindvalue(currentvalue);
Controls.Add(obj);

您的表单中不存在具有所需值 (1500.00f) 的 datacontrol 实例。你只是delcaring它,传递价值而忘记了它。

如果您已经将用户控件添加到窗体中,并且想调用现有控件的bindvalue方法,您应该执行以下操作:

private void button_click(object sender, EventArgs e)
{
    float currentvalue = 1500.00f;
    this.dataControl1.bindvalue(currentvalue);
}

请注意,dataControl1 是您在表单上的用户控件的名称,它可以不同于 dataControl1

如果你想创建新的用户控件并调用bindvalue,你应该在表单上添加新的实例:

private void button_click(object sender, EventArgs e)
{
    float currentvalue = 1500.00f;
    datacontrol  obj = new datacontrol();

    obj.bindvalue(currentvalue);
    this.Controls.Add(obj);
}

如果它已经是在表单上动态添加的控件,则声明一个表单字段class,在需要时为其分配新的控件实例,并在第一个示例中调用它.

您可以通过在按钮单击事件处理程序中使用用户控件的标记名来简单地调用 bindvalue 方法。 假设标签名称是'datacontrol',那么你应该使用下面几行代码来完成你的任务:

 protected void Button1_Click(object sender, EventArgs e)
{
    float myvalue = 150.50f;
    datacontrol1.BindValue(myvalue);

}

此致,Aamir(.Net 开发人员)

如果这个帖子解决了我们正在寻找的问题,请将其标记为答案...谢谢