C# 在C中动态创建表单并对其进行操作
我已经创建了一个C windows窗体,它从MS Access检索数据,并根据该数据的第一列动态创建单独的子窗体。但是,对于我来说,如果任何数据是已创建表单的副本,那么我需要访问以前创建的表单,而不是创建新表单。有人能帮我吗C# 在C中动态创建表单并对其进行操作,c#,winforms,C#,Winforms,我已经创建了一个C windows窗体,它从MS Access检索数据,并根据该数据的第一列动态创建单独的子窗体。但是,对于我来说,如果任何数据是已创建表单的副本,那么我需要访问以前创建的表单,而不是创建新表单。有人能帮我吗 ChatWindow tempwindow = new ChatWindow(); while (aFromReader.Read()) //aFromReader retrieves the first column from a Table { OleDbCom
ChatWindow tempwindow = new ChatWindow();
while (aFromReader.Read()) //aFromReader retrieves the first column from a Table
{
OleDbCommand aCommand = new OleDbCommand("select * from Messages",aConnection);
OleDbDataReader aMessage = aCommand.ExecuteReader();
if (this.Text != aFromReader.GetValue(0).ToString())
{
tempwindow = new ChatWindow();
tempwindow.Text = aFromReader.GetValue(0).ToString();
tempwindow.Show();
}
一些未经测试的代码,我想你明白了:
using System.Collections.Generic;
// ...
Dictionary<string,ChatWindow> windowDict = Dictionary<string,ChatWindow>();
while (aFromReader.Read())
{
OleDbCommand aCommand = new OleDbCommand("select * from Messages",aConnection);
OleDbDataReader aMessage = aCommand.ExecuteReader();
string windowText = aFromReader.GetValue(0).ToString();
if(windowDict.Contains(windowText))
{
// do something with windowDict[windowText]
}
else
{
tempwindow = new ChatWindow();
tempwindow.Text = windowText;
windowDict.Add(windowText,tempwindow);
tempwindow.Show();
}
}
一些未经测试的代码,我想你明白了:
using System.Collections.Generic;
// ...
Dictionary<string,ChatWindow> windowDict = Dictionary<string,ChatWindow>();
while (aFromReader.Read())
{
OleDbCommand aCommand = new OleDbCommand("select * from Messages",aConnection);
OleDbDataReader aMessage = aCommand.ExecuteReader();
string windowText = aFromReader.GetValue(0).ToString();
if(windowDict.Contains(windowText))
{
// do something with windowDict[windowText]
}
else
{
tempwindow = new ChatWindow();
tempwindow.Text = windowText;
windowDict.Add(windowText,tempwindow);
tempwindow.Show();
}
}
如果您向我们展示一个表单创建的代码示例,那么给您一个合理的答案会容易得多。您是否只能使用C2.0?如果没有,请重新标记为cIf,您可以向我们展示一个表单创建的代码示例,这将更容易给您一个合理的答案。您是否只能使用C2.0?如果没有,请重新标记为谢谢你,布朗医生。那会很有帮助。我现在就试试。谢谢你,布朗医生。那会很有帮助。我现在就试试。