【发布时间】:2014-02-22 10:31:37
【问题描述】:
我正在开发一个桌面应用程序,我想在其中从用户那里获取信息。如果用户选择特定的单选按钮,那么我将在弹出窗口中打开一个新表单,其中放置了选中的列表框。从复选框中选择值后,我想访问上一个表单中的选定值。下面是可以清晰思路的图片。
当用户单击“启用内容类型”中的单选按钮(如屏幕中突出显示的那样)时,弹出窗口中会打开一个新表单以从选中的列表框中选择值。选择所需的值后,从“选择内容类型”表单中按“选择”按钮。
现在表单将被隐藏,但我想在“创建列表”表单中获取选定的值。
我的单选按钮事件代码是:
private void rdbEnableCtypeYes_CheckedChanged(object sender, EventArgs e)
{
if (rdbEnableCtypeYes.Checked)
{
lblSelectContentType.Visible = true;
frmSelectContentType selectContentType = new frmSelectContentType();
selectContentType.rootWebUrl = rootWebUrl;
selectContentType.MdiParent = this.MdiParent;
selectContentType.StartPosition = FormStartPosition.CenterScreen;
selectContentType.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
selectContentType.Show();
}
else
{
lblSelectContentType.Visible = false;
cmbContentType.Visible = false;
}
}
选择内容类型的表单代码是:
public string rootWebUrl = string.Empty;
XDocument contentTypeFile = XDocument.Load(FilePaths.ContentTypesFilePath);
private void frmSelectContentType_Load(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(rootWebUrl))
{
if (contentTypeFile != null)
{
XElement xSiteCollection = contentTypeFile.Descendants(XmlElements.SiteCollection).Where(x => x.Attribute(XmlAttributes.Url).Value.Equals(rootWebUrl)).FirstOrDefault();
if (xSiteCollection != null)
{
IEnumerable<XElement> xContentTypes = xSiteCollection.Descendants(XmlElements.ContentType);
if (xContentTypes.OfType<XElement>().Count() > 0)
{
foreach (XElement xContentType in xContentTypes)
{
ComboboxItem item = new ComboboxItem();
item.Text = xContentType.Attribute(XmlAttributes.Name).Value;
item.Value = xContentType.Attribute(XmlAttributes.Id).Value;
lstContenType.Items.Add(item);
}
}
}
}
}
}
我该怎么办?
【问题讨论】:
-
Now the form will be hidden.... 表单是隐藏还是关闭?一些代码可以显示您如何启动第二种形式,这将有助于为您提供正确的答案。 -
先生,我正在编辑我的问题。
标签: c# winforms desktop-application