StreamReader din1 = File.OpenText(tempPath+"\\pwd.dat"); 
String str1; while ((str1 = din1.ReadLine()) != null) 

i++; 
} StreamReader din = File.OpenText(tempPath+"\\pwd.dat"); 
String str; 
Basenames = new string[i]; 
Basepwds = new string[i]; 
int j = 0; 
while ((str = din.ReadLine()) != null) 

string[] split = str.Split(new char[]{'-'}); Basenames[j] = split[0]; 
Basepwds[j] = split[1]; 
j++; } StreamReader aa = File.OpenText(tempPath+"\\login.dat"); 
String strl; 
Logname = new string[i]; 
permissions = new string[i]; 
int m = 0; 
while ((strl = aa.ReadLine()) != null) 

string[] splits = strl.Split(new char[]{'-'}); Basenames[m] = splits[0]; 
Basepwds[m] = splits[1]; 
m++; } 
private void button1_Click(object sender, System.EventArgs e) 
{ MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); 
string MD5name = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(textBox1.Text)), 4,8); 
string MD5pwd = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(textBox2.Text)), 4, 8); 
MD5name = MD5name.Replace("-", ""); 
MD5pwd = MD5pwd.Replace("-", ""); 
for(int k = 0;k <i;k++) 

if(MD5name==Basenames[k] && MD5pwd==Basepwds[k]) { 
this.Hide(); 
MainForm mFrom=new MainForm();  
mFrom.Show(); } 
else 

label4.Visible = true; 
label4.Text = "用户名或密码错误!"; 
textBox1.Text = ""; 
textBox2.Text = ""; 
} } } 
上面是一小段登陆的代码,每次登录都去读配置文件,pwd.dat和login.dat文件,最早只读pwd.dat,里面就是放用户名密码,现在我要加一个登陆权限验证,每次登录在去读login.dat文件,里面放的是用户名和权限级,比如1,2,3. 现在这里if(MD5name==Basenames[k] && MD5pwd==Basepwds[k]) { 
this.Hide(); 
MainForm mFrom=new MainForm();  
mFrom.Show();判断后就直接显示登陆后的窗口了,我想在把我读出来的那个权限级传过去,在MainForm拿这个权限级,然后在里面去判断,这个权限级应该显示的是什么。可我不知道怎么把这参数传过去,我是做java的,c#不太懂,谁能帮我看看,谢谢了 

解决方案 »

  1.   

    mFrom 类的构造函数里面加一个参数 : 
    mFrom()
    改成 mFrom (string p);然后用的时候这样:
    MainForm mFrom=new MainForm(p);  
    mFrom.Show(); 
      

  2.   

    MainForm加个有参数的构造传呗
    MainForm mFrom=new MainForm(xxx,xxx);
    或者MainForm加个方法传都行吧。。  
      

  3.   

    在MainForm中定义一个属性,验证完了根据验证结果给这个属性赋不同的值。然后在MainForm中可以根据这个属性的值做相应的动作。
      

  4.   

    c/s程序
    可以在打开的form里添加带参数的构造方法
    打开的mFrom 对参数操作
      

  5.   

    一样的啊,MainForm构造函数可以传入参数
      

  6.   


    public Class Model
    {
     private string _Value;
      public string TempValue
            {
                set {
                   _Value=value;
                }
            get{
                return _Value;
               }
            }
    } 你只需要在一个Form里 Model.TempValue="XXXX";
     另一个Form里 string value=  Model.TempValue;