在用户控件单击事件中获取splitcontainer上下文

本文关键字:获取 splitcontainer 上下文 事件 用户 控件 单击 | 更新日期: 2023-09-27 18:10:11

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

在用户控件单击事件中获取splitcontainer上下文

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

要在点击事件中获得按钮:

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对象:

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

要做到这一点,你必须确保你的表单的组成,这样你才能在正确的地方获得正确的控件。