非常感谢您的帮助。
基本上我遇到了访问选中列表框的问题。
我在表格1的选项卡1上有一个选中列表框。我想将此复选框传递到表格2并将结果放入表格2上的列表框中。
表格1
public static void ShowResults(string strRoutine, string strCaption)
{
ResultsForm.Routine = strRoutine;
ResultsForm.Title = strCaption;
strXMLFileName = xmlDocConfig.SelectSingleNode("config/routine[@key='" + strRoutine + "']/outputfname").Attributes.GetNamedItem("value").Value;
strXMLFileName = clsUtilities.ReplacePathWildcards(strXMLFileName);
strXMLFileName = clsUtilities.ReplacePathWildcards(frmNSTDBQC.xmlDocConfig.SelectSingleNode("config/routine[@key='G']/outputfname").Attributes.GetNamedItem("value").Value) + "\\" + strXMLFileName;
ResultsForm.DisplayFile = strXMLFileName;
ResultsForm.ShowDialog();
}
在表单2中,我可以访问选项卡控件,可以使用QCForms.tcTabs.SelectedTab.Text
访问正确的结果,但是QCForm.chkLstLines.Items.Count
显示为0,即使我已经勾选了10个项目。
表单2
public void frmResults_Load(object sender, EventArgs e)
{
int i = 0;
this.Text = "Results - " + this.Title;
switch (QCForm.tcTabs.SelectedTab.Text)
{
case "Line Checks":
i = 0;
while (i < QCForm.chkLstLines.Items.Count)
{
if ( QCForm.chkLstLines.GetItemChecked(i))
{
lstFeatures.Items.Add(QCForm.chkLstLines.Items[i].ToString()); // VB6.GetItemString(QCForm.chkLstLines, i));
}
i++;
}
}
}
编辑
表单 1
public static void ShowResults(string strRoutine, string strCaption)
{
var ResultsForm = new Form(this);
//ResultsForm.Routine = strRoutine;
//ResultsForm.Title = strCaption;
strXMLFileName = xmlDocConfig.SelectSingleNode("config/routine[@key='" + strRoutine + "']/outputfname").Attributes.GetNamedItem("value").Value;
strXMLFileName = clsUtilities.ReplacePathWildcards(strXMLFileName);
strXMLFileName = clsUtilities.ReplacePathWildcards(frmNSTDBQC.xmlDocConfig.SelectSingleNode("config/routine[@key='G']/outputfname").Attributes.GetNamedItem("value").Value) + "\\" + strXMLFileName;
//ResultsForm.DisplayFile = strXMLFileName;
ResultsForm.ShowDialog();
}
表格二
private frmNSTDBQC QCForm;
public frmResults(frmNSTDBQC qcForm)
{
InitializeComponent();
QCForm = qcForm;
}
QCForm
? - NASSER