我想创建一个包含2个面板的窗体,其中左面板包含链接。点击链接时,相应的表单应在右侧区域打开,并应在单击另一个链接时刷新并显示该表单。我想在c#windows应用程序中执行此操作。我该怎么做?如何在c#窗口应用程序中添加导航链接
回答
您是否尝试过使用在c#中使用的自定义属性来打开新窗体,请在此处尝试。使用链接按钮。
右侧面板在点击第二个链接时没有刷新,右侧面板内容不变。 – pavan
您已经定义了所有的控件。如果没有,那么你可以轻松地重新绘制所有的控制点击链接按钮。 http://en.csharp-online.net/Panel – user909058
我想你在搜索http://msdn.microsoft.com/en-us/library/system.windows.forms.linklabel.aspx。 LinkLabel控件。处理它的LinkClicked事件并做你想做的事。
当第二个链接被点击时,右侧面板没有被刷新,右侧面板内容不变。 – pavan
至于@AVD提出了链接,您应该使用LinkLabel
但为了在“正确”或任何其它指定的面板中打开表单,您必须窗体的父手柄设置为包含面板的手柄。
因此可以说你有两个面板,splitContainer1.LeftPanel
和splitContainer1.RightPanel
。在左侧面板中,您有LinkLabel
与LinkClicked
事件。现在为了打开splitContainer1.RightPanel
表单时被点击LinkLabel
,实例形式的对象,调用运API方法SetParent()
设置父句柄,然后调用Form.Show()
方法splitContainer1.RightPanel
//Declare a WinAPI method
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
//Inside LinkClicked event
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Form1 f = new Form1();
SetParent(f.Handle, splitContainer1.Panel2.Handle);
f.Show();
}
打开它编辑:一种解决方法来关闭任何现有的形式在面板上打开一个新的 不是最好的,但最简单的方法前关闭现有的形式:
Form currentForm = null;
private void CloseCurrentForm()
{
if(currentForm != null)
currentForm.Close();
}
,并在每LinkClicked
事件打开新的Form
这样之前调用此方法,不要忘记设置currentForm
:
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
CloseCurrentForm();
Form2 f = new Form2();
SetParent(f.Handle, splitContainer1.Panel2.Handle);
currentForm = f;
f.Show();
}
对于你的问题,你可以使用Panel控件。和用户控制。首先创建UserControl,然后将其添加到面板容器中。 UserControls有助于重用,并且更容易重用。
步骤做
- 创建用户控制和设计它accoriding您的需要
- 将面板控制
- 装入用户控件对象面板和显示它
对于例如。
U将一个链接标签或图像或按钮放在窗体左侧,右侧放置内容面板。
当u单击了LinkLabel的执行下列操作
Protected void LinkLabel_Click()
{
UserControl1 UserObj =new UserControl1(); // UserControl which u want to display
panel1.controls.Clear();
Panel1.Controls.Add(userobj); //Adding the control to Panel Container.
}
- 1. 动态添加导航链接到app.js应用程序
- 2. 如何将导航控制器添加到基于窗口的应用程序
- 3. 从动态导航链接在新窗口中打开链接
- 4. 如何在导航栏中添加TabBar应用程序
- 5. 如何在窗口应用程序中添加App_Data文件夹?
- 6. 如何使用zend导航在链接中添加accesskey属性
- 7. 如何将sdl.net窗口添加到C#窗体表单应用程序中?
- 8. 如何在预建应用程序上添加导航抽屉?
- 9. 如何在我的应用程序中添加超链接?
- 10. 如何将OpenCV显示窗口添加为Win32 C++应用程序中另一个窗口的子窗口?
- 11. C#窗口应用程序
- 12. Silverlight导航应用程序,如何添加不属于“导航”的页面
- 13. 如何在引导弹窗中添加var链接?
- 14. 我如何将tabbarcontroller添加到导航应用程序
- 15. 如何将链接添加回ActiveAdmin中的应用程序?
- 16. 在基于导航的应用程序中添加UISearchBar
- 17. 在导航应用程序中添加两次项目
- 18. 将帮助窗口添加到应用程序 - C#
- 19. 如何在新窗口中打开Facebook墙上的应用程序链接?
- 20. 如何确保引导导航栏链接有当添加
- 21. 如何将WPF窗口添加到WinForms应用程序
- 22. 如何将NSColorPicker添加到应用程序的主窗口?
- 23. 如何在顶部添加导航栏的URL链接
- 24. 如何将活动类添加到magento中的导航链接?
- 25. 在基于窗口的应用程序中添加子视图
- 26. 如何在Windows窗体应用程序中创建mailto链接
- 27. 普遍窗口后退导航按钮10的应用程序
- 28. c#链接两个动态添加的控件。 (Windows窗体应用程序)
- 29. 如何在C#窗口应用程序中注销功能?
- 30. 如何在C#窗口应用程序中播放视频?
你有什么问题,当你试过吗? –
右侧面板在点击第二个链接时未刷新,右侧面板内容不变。 – pavan
显示问题的一个小例子 –