【问题标题】:get the splitcontainer context in user control click event在用户控件点击事件中获取 splitcontainer 上下文
【发布时间】:2011-09-29 06:39:55
【问题描述】:

先生, 我有一个拆分容器,其中在右侧面板中有一个用户控件。在用户控件中,我有几个按钮,如查看、新建、编辑等。该用户控件的底部将根据单击左侧的链接打开一个表单导航窗格。现在当我单击用户控件的视图按钮时,我应该在它下面打开一个新表单。如何在单击事件中获取 splitcontainer 的上下文?另外,如果我想在单击用户控件中的保存按钮时检索表单值以保存在数据库中,该怎么做?

【问题讨论】:

  • 单独发布第二个问题(关于保存),并确保提供更多上下文和代码。一句话不行!

标签: c# winforms


【解决方案1】:

Click 事件有一个 sender 参数,即点击按钮。您可以使用按钮的名称来决定应该打开哪个表单。

【讨论】:

    【解决方案2】:

    在点击事件中获取您的按钮:

    Button clickedButton = (Button)sender;
    

    要获取按钮的父级(如果它是 SplitContainer,则必须使用 Parent 属性 3 次,因为第一个将获取您的 UserControl,SplitPanel 的第二个左侧面板,它没有一个 Name 属性,第三个 - 您的 SplitPanel,第四个,如果需要,您的表单名称)

    string splitPanemName = clickedButton.Parent.Parent.Parent.Name;
    

    ...或者您可以获取整个 SplitPanel 对象:

    SplitPanel currentSplitPanel = (SplitPanel)clickedButton.Parent.Parent.Parent;
    

    ...或表单对象:

    Form currentSplitForm = (Form)clickedButton.Parent.Parent.Parent.Parent;
    

    为此,您必须确定表单的组成,以便在正确的位置获得正确的控件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多