我希望在DateTime.Now =用户输入日期时隐藏按钮。 textbox100在Form2中并且已经公开,但我知道还缺少其他东西,因为我收到错误:“当前上下文中不存在名称'textBox100'。”
谢谢。
public void Form1_Load(object sender, EventArgs e)
{
var dateTimeStr = textBox100.Text;
var user_time = DateTime.Parse(dateTimeStr);
var time_now = DateTime.Now;
if (time_now >= user_time)
{
button1.Visible = false;
}
}
答案 0 :(得分:2)
您需要改善表单之间的沟通。请参阅this question中接受的答案。
改编自您的代码:
using ( var form = new Form2() )
{
var dateTimeStr = form.textBox100.Text;
var user_time = DateTime.Parse(dateTimeStr);
var time_now = DateTime.Now;
if (time_now >= user_time)
{
button1.Visible = false;
}
}
如果你需要在获取TextBox的值之前等待,也就是等待用户输入输入,那么你可以写:
string dateTimeStr;
using ( var form = new Form2() )
{
form.submitButton.OnMouseUp += (source, e) =>
{
dateTimeStr = form.textBox100.Text;
};
}
假设您的表单中有某个提交按钮。
答案 1 :(得分:0)
即使它是公开的,它仍属于班级Form2
var dateTimeStr = Form2.textBox100.Text;
答案 2 :(得分:0)
如果Form2未实例化,并且在Form1中有引用,则无法获取textbox100的文本。然后使用UnLoCo中的一行。当然,它必须在Form2中公开