我有一个UserControl,其中有两个文本框。用户可以根据需要添加这些UserControls的多个副本。每个UserControl都添加到面板的底部。如何从这些用户控件中获取信息。
这是添加我当前使用的UserControl的代码:
private void btnAddMailing_Click(object sender, EventArgs e)
{
//Set the Panel back to 0,0 Before adding a control to avoid Huge WhiteSpace Gap
pnlMailingPanel.AutoScrollPosition = new Point(0,0);
/*I know this isn't the best way of keeping track of how many UserControls
I've added to the Panel, But it's what i'm working with right now.*/
int noOfMailings=0;
foreach (Control c in pnlMailingPanel.Controls)
{
if (c is MailingReference)
noOfMailings++;
}
//Add the New MailingReference to the bottom of the Panel
/*1 is the type of Mailing, noOfMailings Determines how many mailings we've sent for
this project*/
MailingReference mr = new MailingReference(1, noOfMailings);
mr.Location = new Point(MRXpos, MRYpos);
MRYpos += 120;
pnlMailingPanel.Controls.Add(mr);
}
public partial class MailingReference : UserControl
{
public String Date
{
get { return txtDate.Text; }
set { txtDate.Text = value; }
}
public String NumberSent
{
get { return txtNoSent.Text; }
set { txtNoSent.Text = value; }
}
/// <summary>
/// Creates a Panel for a Mailing
/// </summary>
/// <param name="_letterType">Type of 0 Letter, 1 Initial, 2 Final, 3 Legal, 4 Court</param>
public MailingReference(int _letterType, int _mailingNo)
{
InitializeComponent();
//alternate colors
if (_mailingNo % 2 == 0)
panel1.BackColor = Color.White;
else
panel1.BackColor = Color.LightGray;
switch (_letterType)
{
case 1:
lblLetter.Text = "Initial";
break;
case 2:
lblLetter.Text = "Final";
break;
case 3:
lblLetter.Text = "Legal";
break;
case 4:
lblLetter.Text = "Court";
break;
default:
break;
}
lblMailingNumber.Text = _mailingNo.ToString();
}
private void label1_Click(object sender, EventArgs e)
{
this.Parent.Controls.Remove(this);
}
foreach (Control c in pnlMailingPanel.Controls)
{
if (c is MailingReference)
{
foreach (Control c2 in MailingReference.Controls)
{
//do work
}
}
}
以从文本框中获取数据,但MailingReference.Controls不存在。
我不确定如何遍历每个MailingReference UserControl,并从每个文本框中的两个文本框中获取数据。有什么提示吗?
据我所知,您的主要错误是试图通过类名访问实例属性controls
。您应该有以下内容:
foreach (Control c in pnlMailingPanel.Controls)
{
MailingReference mailingReference = c as MailingReference;
if (mailingReference != null)
{
foreach (Control c2 in mailingReference.Controls)
{
//do work
}
}
}
我有一个窗口,每个类型有不同的项目和不同的视图。我想从内容控件后面的代码访问窗口(父)中的按钮。 OutputConfigView: OutputRenderReview.xaml.cs: 在本例中,parentWindow为空。 如何从控件后面的代码访问调用窗口的按钮?
太感谢你了。
React Apollo Mutations允许我创建一个组件,该组件采用MutationResult作为道具:https://www.apollographql.com/docs/react/api/react-apollo.html#mutation-render-prop 现在,如果我要使用由graphql()创建的高阶组件 我的组件将只有作为道具。如何将获取到组件中?
我有一个LandingPage,它使用ChartJs动态加载图表。 我需要得到点击的图表和它的属性值。 定义图表的代码位于检索到的动态生成列(bootstrap)的循环中: onClick事件调用一个模态弹出窗口并设置它的元素,但我需要得到正确的图表(每个图表都有不同的画布id) 谢谢
我试图用web表单做一个web调查应用程序。问题是我在调查创建部分有麻烦。
我试着把一个简单的viewModel交给一个composable,每次出现这个错误,我都不知道这意味着什么: 我的分级: 我创建了一个文件 并将其设置在清单中。 我创建了文件: 然后在我的中设置并创建一个,如下所示: 在我的导航中的处调用: null