c#dockpanel suite怎么用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#dockpanel suite怎么用相关的知识,希望对你有一定的参考价值。

参考技术A 这个控件不错,
可以很方便地实现如vs
里那种窗口定位,
浮动,
dock,
tab化等界面效果,
今天有空下载来看了一下,
用起来还是很容易的,
大概讲一下,
省得以后忘记了.
dockpanel中提供了几个可用的类,
重要的有两个,
一是DockPanel,
一是DockContent,
DockPanel是从panel继承出来的,
用于提供可浮动的dock的子窗口进行浮动和dock的场所,
DockContent是从form类中继承出来的,
用于提供可浮动的窗口基类.
就是说:
DockContent对象可以在DockPanel对象中任意贴边,
浮动,
TAB化等.
建立一个docpanel风格的程序的过程是:
1.
建立一个winform程序,
引用WinFormsUI.dll;
2.
程序主窗口比如说是FrmMain;
把FrmMain.IsMdiContainer
设置为true;
3.
在FrmMain中放一个DockPanel,
比如说名称是Panel1,
把Panel1.Dock设为Fill,
或是者是你规划的地方.
4.
新建你的子文档窗口类,
就是新建一个windows
FORM,
在窗口设计器里面随便你添上什么愿意要的控件.
这将是你的程序里的子窗口,
我弄了两个:
一个叫FrmChild,
里面放了一个dock
fill的editbox,
另一个叫FrmProperty,
放了一个dock
fill的PropertyGrid,
名叫propertyGrid1,
设这两个是有用的.
后面说.
5.
打开FrmChild和FrmProperty的代码,
把class的继承类由Form改为DockContent;
如:
public
class
FrmChild
:
WeifenLuo.WinFormsUI.DockContent
//
注意这里改了!

.........

6.
为FrmMain加上两个私有成员:
FrmChild
fc;
FrmProperty
fp;
这两个成员用来保存待会儿新建的两个窗口的指针.
7.
为FrmMain的Load写些代码,
如下:
fc
=
new
FrmChild();
fp
=
new
FrmProperty();
fc.Show(this.dockPanel1);
fp.Show(this.dockPanel1);
fp.propertyGrid1.SelectedObject
=
fc;
fp.propertyGrid1.PropertyValueChanged
+=new
PropertyValueChangedEventHandler(propertyGrid1_PropertyValueChanged);
fc.MouseDown
+=new
MouseEventHandler(fc_MouseDown);
fc.MouseUp
+=new
MouseEventHandler(fc_MouseUp);
就是建立两个窗口,
这两个窗口都是从DockContent中继承的,
都有贴边,
tab化,
自动hide的能力,
很有意思的.
注意DockContent有新的Show()方法,
可以指定要Show的DockPanel,
当然要写上你准备的那个dockPanel1;
两个都Show了,
然后为fp的propertyGrid1指定要显示的对象,
就是fc;
之后再注册事件处理程序,
这几句是为了可以实现属性变了窗口变,
窗口变了属性变的效果,
可以动态地看到这些对象的属性对于其外观和形为的影响,
对于只想建个多窗口程序的人来说,
Show完了就可了.
8.
由于上面注册的事件,
下面加几个事件处理程序:
private
void
propertyGrid1_PropertyValueChanged(object
s,
PropertyValueChangedEventArgs
e)

this.dockPanel1.Invalidate();
this.fc.Invalidate();
//this.fc.Refresh();

private
void
fc_MouseDown(object
sender,
MouseEventArgs
e)

this.fp.propertyGrid1.Refresh();

private
void
fc_MouseUp(object
sender,
MouseEventArgs
e)

this.fp.propertyGrid1.Refresh();

运行吧,
看看效果?
你把这两个窗口放到边上,
这里哪里都试试,
挺有意思的.

devexpress 的dockpanel怎么添加呢,我不小心关掉后,可视化界面就找不到了

devexpress 的dockpanel怎么添加呢,我不小心关掉后,可视化界面就找不到了,谢谢

参考技术A $rm=mysql_query("SELECT * FROM `pql_spices` ORDER by rand()");
$i = '1';
$td=[];
while ($rmx=mysql_fetch_array($rm))

$Total+=$rmx['Price'];
$Total_standard+=$rmx['standard'];
$td[]=$row;
$end=end(array($td));本回答被提问者采纳

以上是关于c#dockpanel suite怎么用的主要内容,如果未能解决你的问题,请参考以下文章

关于dockpanel隐藏,显示时某些功能失效的问题?

devexpress 的dockpanel怎么添加呢,我不小心关掉后,可视化界面就找不到了

WPF编程,我上层容器是dockpanel,里边想放3个canvas,但是实际的效果是后边的canvas会占满整个窗口,怎么办

wpf DockPanel默认填充机制

怎么找到与你Eclipse匹配的spring tool suite插件

testng beforesuite 怎么用