更改usercontrol时将文本分配给文本框

时间:2017-07-26 06:16:50

标签: c# asp.net events user-controls panel

我正在构建一个程序,用于生成一些数学问题,然后检查并更正用户给出的答案。

我有一个带有Panel的MainForm,我添加了所有不同的UserControls。 在我的MainUC中,我有一个按钮,打开另一个带有三个按钮的UC,可以选择三个难度级别中的任何一个。每当我点击任何这些按钮时,我都会打开一个带有文本框的UC。对于这个TextBox,我将使用一种方法来生成不同的问题。问题应该在难度级别上有所不同,所以我根据用户选择的难度为变量赋值,并在我的方法中检查选择的难度并从中生成代码。然后我有一个“下一步”按钮,它会生成一个新问题。

我的问题是: 文本框将在加载时分配一个问题。因此,当按下三个难度按钮中的任何一个时,在UC刚刚打开时会向文本框生成一个问题。但事实并非如此。我必须按“下一步”按钮才能生成问题。那么如何在加载用户控件时执行此操作?

似乎UserControl是“静态”的,因为每当我启动程序时它都会加载(通过在initializecomponent中运行MessageBox来测试),因为我可以完成

This.TextBox1.Text = Class1.GenerateQuestion();
在我的UC的InitializeComponent中

对吗?但是当我启动程序时立即加载UserControl,所以我不能这样做。我该如何解决这个问题?已经和他坐了好几天了。

DifficultyUC

QuestionsUC

以下是我的所有代码(整个项目):ufile.io/1d08w

0 个答案:

没有答案