注册 登录
编程论坛 C# 论坛

为什么我的会出错,求各位好汉指教

yangkaifeng3 发布于 2014-06-18 19:18, 1120 次点击
private void bt1_Click(object sender, EventArgs e)
        {
            yhm = tb1.Text.Trim();
            mm = tb2.Text.Trim();
            if (yhm == "xs" && mm == "jike")
            {
                Form1 f2 = new Form2();
                f2.Show();
                this.Hide;

            }
            else
           
            MessageBox .Show ("用户名或密码错误");
        }
错误    1    无法将类型“选课系统.Form2”隐式转换为“选课系统.Form1”    E:\c#课本练习\选课系统\选课系统\Form1.cs    31    28    选课系统
错误    2    只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句    E:\c#课本练习\选课系统\选课系统\Form1.cs    33    17    选课系统
9 回复
#2
步向巅峰2014-06-18 19:59
this.Hide;
Hide是方法应用this.Hide()
Form1 f2 = new Form2();
                f2.Show();
Form2如果实例化的话应该是Form2 f2=new Form2();而不是像现在这样声明用Form1,实例化用Form2
#3
yangkaifeng32014-06-18 20:15
回复 2 楼 步向巅峰
namespace 选课系统
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
         string yhm, mm;
        private void Form1_Load(object sender, EventArgs e)
        {
            yhm = mm = "";
            
        }

        private void bt1_Click(object sender, EventArgs e)
        {
            yhm = tb1.Text.Trim();
            mm = tb2.Text.Trim();
            if (yhm == "xs" && mm == "jike")
            {
                Form2 f2 = new Form2();
                f2.Show();
                this.Hide;

            }
            else
           
            MessageBox .Show ("用户名或密码错误");
        }
改了之后错误变成
错误    1    “选课系统.Form2”不包含“cb1_CheckedChanged”的定义,并且找不到可接受类型为“选课系统.Form2”的第一个参数的扩展方法“cb1_CheckedChanged”(是否缺少 using 指令或程序集引用?)    E:\c#课本练习\选课系统\选课系统\Form2.Designer.cs    84    69    选课系统
错误    2    “选课系统.Form2”不包含“checkBox4_CheckedChanged”的定义,并且找不到可接受类型为“选课系统.Form2”的第一个参数的扩展方法“checkBox4_CheckedChanged”(是否缺少 using 指令或程序集引用?)    E:\c#课本练习\选课系统\选课系统\Form2.Designer.cs    115    69    选课系统
错误    3    “选课系统.Form2”不包含“checkBox5_CheckedChanged”的定义,并且找不到可接受类型为“选课系统.Form2”的第一个参数的扩展方法“checkBox5_CheckedChanged”(是否缺少 using 指令或程序集引用?)    E:\c#课本练习\选课系统\选课系统\Form2.Designer.cs    126    69    选课系统
错误    4    只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句    E:\c#课本练习\选课系统\选课系统\Form1.cs    33    17    选课系统
#4
yangkaifeng32014-06-18 20:16
回复 3 楼 yangkaifeng3
版主万岁
#5
编号10162014-06-18 22:34
回复 3 楼 yangkaifeng3
你那边负空值应该是分开负 吧,你试试yhm = "";mm = "";还有下面把那个else后的语句最好用{}规范点;还有可能你那边checkBox也有问题
#6
步向巅峰2014-06-19 10:41
up三楼,养成良好的代码习惯可以减少很多不必要的错误
错误4:this.Hide()应该这样写,hide()是方法,方法后面都要加(),不加出错很正常
E:\c#课本练习\选课系统\选课系统\Form2.Designer.cs

错误1/2/3:错误很明显的告诉错误是出在哪个文件中了,Form2的代码本身就有问题,楼主看看Designer代码中你定义控件的方法的名称是不是和你使用的方法名称一致
#7
liu_鹏2014-06-22 12:05
首先确定你的“yhm”和“mm”是用string定义的么?
还有this.hide.
这是一个方法。后面必须要有()。
正确的也就是this.Hide();
#8
liu_鹏2014-06-22 12:06
补充一下。  你用form1 声明的窗体,最后却用的是form2的构造函数。这个肯定是行不通的。
#9
Maick2014-07-18 14:16
真的不想说什么了....无语.提示这么明显了还要问
#10
邓士林2014-07-20 16:35
方法和属性要分清的
1