如果有人能帮助我,我将不胜感激.
我有一个Windows窗体应用程序有三种形式:form1,form2,form3.form1在应用程序激活时启动.在form1上,有一个按钮可以调出form2,并隐藏form1.还有一个按钮可以在form2上调出form3并隐藏form2.
public partial class Form1 : Form
{
Form2 f2= new Form2();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
f2.Show();
}
}
public partial class Form2 : Form
{
Form3 f3 = new Form3();
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
f3.Show();
}
}
Run Code Online (Sandbox Code Playgroud)
问题出在form3上,我试图访问一些在form2中赋予运行时值的变量.我想因为我把f2作为模态表单,我应该能够通过简单地使用f2.myvariables来访问,但是intellisense不会给我f2对象.这是为什么?我找到了一种方法来声明这些变量是公共静态的,所以我可以通过使用form2.myvariables来访问.这是另一件令我困惑的事情.由于所有值都是在运行时分配的,因此静态变量如何执行此操作?我是C#的新手,我已经对此做了很多搜索,但似乎没有地方完全回答我的问题.在此先感谢您的帮助!!
我对编程世界非常陌生(很抱歉,如果这个问题已被回答过很多次,至少我没有从互联网上获得任何线索),并且我最近正在尝试构建一个C锋利的应用程序。该exe文件将在另一个程序中调用,并且在调用时,该程序将为c Sharp exe应用程序传递一个sql连接字符串值。我的问题是如何使应用程序获得价值。
连接字符串应如下所示
“Provider=SQLOLEDB.1;Password=xxxxxxxx;Persist Security Info=True;User
ID=xxxxxxxx;Initial Catalog=ATTACH;Data Source=LNGSEAL136504A;
Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation
ID=LNGSEAL136504A;Use Encryption for Data=False;Tag with column collation when
possible=False”
Run Code Online (Sandbox Code Playgroud)
我写的是:这是我的代码:类Program {静态void Main(string [] args){Console.WriteLine(“正在运行!”); Console.ReadKey(); 尝试{
int Len;
string cnn = null;
Len = args.Length;
for (int i = 0; i < args.Length; i++)
{
cnn = cnn + " " + args[i];
}
Console.WriteLine(cnn);
Console.WriteLine(Len);
Console.ReadKey();
ADODB.Connection mycnn = new ADODB.Connection();
mycnn.Open(cnn);
ADODB.Recordset rs = new ADODB.Recordset();
rs.Open("sql statements", mycnn);
mycnn.Close();
}
catch …Run Code Online (Sandbox Code Playgroud)