爵士 我有一个拆分容器,在右侧面板我有一个usercontrol.In用户控件我有几个按钮,如视图,新的,编辑等。该用户控件的底部将打开一个窗体将根据左侧点击的链接打开导航窗格。现在,当我单击用户控件的视图按钮时,我应该在它下面打开一个新表单。如何在click事件中获取splitcontainer的上下文?如果我想在用户控件中单击保存按钮时检索表单值以保存在数据库中,该怎么做?
答案 0 :(得分:1)
Click
事件有一个sender参数,即单击的按钮。您可以使用按钮的名称来解析应该打开哪个表单。
答案 1 :(得分:0)
要在点击事件中获取按钮:
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;
为此,您必须确定表单的组成,以便在正确的位置获得正确的控件。