【发布时间】:2020-07-07 09:43:44
【问题描述】:
我在 Form.cs 上设置了两个用户控件。尝试创建现代 UI。第一个用户控件 (database.cs) 将数据库加载到 dataGridView 上。然后,用户可以使用此用户控制 (database.cs) 文件编辑数据库。现在我还希望能够从第二个用户控件 (scan.cs) 访问 dataGridView。
form1.cs 代码:
public partial class Form1 : Form
{
public static string db_n;
public static string db_p;
private void Form1_Load(object sender, EventArgs e)
{
var userdata = WelcomeForm.Run();
if (userdata != null)
{
db_n = userdata.UserName;
db_p = userdata.UserSurname;
}
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
scan1.BringToFront();
}
private void button3_Click(object sender, EventArgs e)
{
database1.BringToFront();
}
}
}
database.cs 代码:
public partial class Database : UserControl
{
public Database()
{
InitializeComponent();
}
public void load_db_Click(object sender, EventArgs e)
{
using (var connection = new MySqlConnection("server=localhost;user id='" + Form1.db_n + "';database=db;password='" + Form1.db_p + "'"))
{
try
{
if (connection.State == ConnectionState.Closed)
{
connection.Open();
DataTable table = new DataTable();
MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT * FROM table_new",
connection);
adapter.Fill(table);
dataGridView1.DataSource = table;
}
}
catch (Exception)
{
MessageBox.Show("Error");
}
}
}
}
然后我将如何访问 scan.cs 中的 dataGridView1?
【问题讨论】:
标签: c# visual-studio user-controls