如何将数据库文件名从一个表单传递到另一个表单
本文关键字:表单 一个 另一个 数据库 文件名 | 更新日期: 2023-09-27 17:58:04
在我的windows应用程序中,我使用MS访问数据库。在主窗体(包含菜单)中,用户将通过对话框选择(打开)数据文件。他将能够选择一个菜单来访问其他表单。
在这里,我需要将数据文件名存储在一个变量中,并在连接字符串中使用相同的数据文件名来从选定的数据文件中获取数据。
如何将选定的数据库文件名通过一个表单传递到另一个表单。
在形式1中,我声明了一个变量;
public string dtFile;
我将文件路径存储在打开文件对话框的dtfile
变量中。
dtFile = openFileDialog.FileName;
在表格2中,我写了
Form1 frm = new Form1;
string strDataFile = frm.dtFile;
这里我得到的是空值。如何在From 2 中获取Form 1的dtFile变量的数据
如果你可以这样做,你将能够在另一个表单上访问Form1的所有内容:
private void button1_Click(object sender, EventArgs e)
{
Form1 newform = new Form1();
newform = this;
this.Hide();
MySecform = new Form2(ref newform);
MySecform.Show();
}
另一种方法是使用自定义事件:
查看此处的详细信息:
http://www.codeproject.com/Articles/17371/Passing-Data-between-Windows-Forms
如果您希望值在所有形式的应用程序中都可以访问,也可以创建静态类:
static class Global
{
private static string _globalVar = "";
public static string GlobalVar
{
get { return _globalVar; }
set { _globalVar = value; }
}
}
在第一种形式中,将dtFileName
声明为静态变量。
public static string dtFileName;
通过对话框选择文件名
dtFileName = openFileDialog.FileName;
并且在形式2中
public partial class Form2 : Form
{
string strDataFilePath = "";
public Form2 ()
{
InitializeComponent();
strDataFilePath = Form1.dtFileName.ToString();
}
}