1

我想从一个文本框中获取一个值,然后将它移动到一个 Click 事件到代码中的其他位置。所以这就是我所做的:

首先,我制作了一个这样的私有字符串:

private string someText;

然后我的 Click 事件中有以下代码:

someText = inputText.Text;

现在我想在另一个地方使用它,所以我想我可以像这样使用它:

TextBlock1.Text = someText;

但是这里的字符串someText是空的。我怎么解决这个问题?

4

6 回答 6

1

这取决于您何时分配 TextBlock1.Text,因为您在页面加载后触发 onClick 事件。

如果您可以举例说明您在 someText 上分配/绘图的位置/时间,这将有所帮助。

(以及您正在工作的环境、网站、WPF 应用程序等 :))

于 2013-05-22T07:14:22.923 回答
0

如果您在同一个类中使用它应该可以工作,如果您试图在类之外使用它,则需要将其公开,例如通过将其声明为公共或为其创建公共属性。

于 2013-05-22T07:12:41.590 回答
0

尝试改变:

private string someText;成为public string someText;

并初始化

inputText作为public TextBox inputText;

于 2013-05-22T07:16:17.080 回答
0

我猜你制作了“私有字符串 someText”局部变量。

你应该做全局变量

例如

 class A
  {
      private string someText; //here 

      //Your Event
  }
于 2013-05-22T07:21:41.623 回答
0

你可能会这样做:

private string someText;
public MyForm()
{
    InitializeComponent();

    TextBlock1.Text = someText; // At this point, someText == null
}

private void Button_Click(object sender, EventArgs e)
{
    someText = inputText.Text;
}

所以你真正想要的是:

private void Button_Click(object sender, EventArgs e)
{
    someText = inputText.Text;
    TextBlock1.Text = someText;

    // or simply
    TextBlock1.Text = inputText.Text;
    // for short
}
于 2013-05-22T07:23:41.617 回答
0

不知何故,这种私有字符串或公共字符串的方法不起作用。所以我通过将其保存为隔离存储并在使用时清除它来解决它。

也许是一个愚蠢的解决方案,但我工作了。

于 2013-05-22T10:23:03.697 回答