private void button1_Click(object sender, EventArgs e)
{
//获取用户名
string yonghuming = comboBox用户.Text;
//获取密码
string mima = textBox密码.Text;
//判断用户名密码是否正确
if ("技术员".Equals(yonghuming ) && "123".Equals(mima ))
{
MessageBox.Show("登录成功!");
//comboBox用户.Text = label3.Text; //这个值怎么输出到另外一个窗口?//////////////////////////////
}
else if ("管理员".Equals(yonghuming) && "1076255".Equals(mima))
{
MessageBox.Show("登录成功!");
}
else
{
MessageBox.Show("登录失败!");
}
}
另外一个窗体的构造函数上面加上参数 然后new的时候把参数带上 或者直接赋值都是可以的
我喜欢另外搞个公用数据库
net6啥就不说了,如今的教材都是2008年的,就算俺们说net6的,你教材上也没有
我们来说2008年net1.0就有的,但是教材通常没有提过,但是实际上net1.0的代码一样可以用的
public class UseInfoContext
{
//给这个例子只是告诉你这些信息应该存在全局上下文中
//当然上下文会有生存期控制,net6的我们可以用Scope控制
//至于2008的年教材么,能介绍单件全局静态的都算好教材了,我们也不能指望那个年代的教材会有这方面的
//设计和考虑
//为了不引发你其他疑问,我先用静态属性。这只是一个引子。
//引子只是为了引入上下文概念,我可不想后面又有一堆人园子的人们过来说啥贫血,懒汉这些玩意
public static string Name {
get
{
//net1.0就存在应用程序全局上下文
//这东西那个年代的教材不会讲,但是如果现在作者从新写应该会写进去
return (string)AppDomain.CurrentDomain.GetData("username");
}
set
{
AppDomain.CurrentDomain.SetData("username",value);
}
}
}
当然,我这么说的,其实是让你利用那些2008年入门基础后,就赶紧扔掉。赶快换点新教材看,同样提示那些喜欢出名的,出书的。赶紧把那些园子给你们的恰钱的啥DDD,abp招数扔掉吧。如今的新人们现在缺的可不是这些,他们缺的是最新的教材了和最近10年最新的思想和手段。你们最抢先出来就有小钱钱哦。
namespace 窗口A{
public static string str { get;set; }
private void button1_click(object sender, LinkLabelLinkClickedEventArgs e){
str = "1";
}
}
namespace 窗口B{
private void 窗口B_Load(object sender, EventArgs e) {
new thread(()=>{
while (true) {
if (string.IsNullOrWhiteSpace(窗口A.str ))
continue;
if (!this.IsHandleCreated)
continue;
this.BeginInvoke((Action)(() => {
label1.Text=窗口A.str ;
}));
}
}).start();
}
}
我是个小白,理解不了,太深奥了,谢谢