C#|只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句

错误信息:只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句;

分析:发生这种情况一般是在赋值时把“=”写成了“==”,例如:textBox1.Text=='a';另一种情况就是调用方法是没有加(),比如this.Hide()。

解决方法:

一个是,只是用this.Close();first.Show();进行窗口跳转的时候,软件提示需要简化名称,即按照Form f1 = new first();f1.Show();的样式进行书写。


第二个是,按照上述修改后,运行程序的时候,这两个窗口都被关闭了。这是因为C#里面的窗体是线程创建的,一个窗体就是一个线程的。
从第一个线程里面new出来的窗体,是上一个窗体的子线程。所以,当父线程关闭后,就会关闭掉子线程了。解决方法是,创建一个窗体或者线程。
如果是窗体就隐藏这个主窗体(主线程)即使用this.Hide()。还可以在Program.cs文件里面 加入Application.Run(new 窗体名());
类似于一种声明,表示在当前线程上开始运行标准应用程序消息循环,并使指定窗体可见。
原文地址:https://www.cnblogs.com/jlutiger/p/9337699.html