xpd*_*pda 2 .net tabcontrol winforms
我有一个tabcontrol用于在应用程序中显示多个图像文件.当只显示一个标签页时,我想删除标题页标题,因此我可以将该屏幕空间用于图像.(这类似于在Firefox中取消选择"始终显示标签栏".)
这可能与tabcontrol有关吗?或者,当只打开一个文件(标签)时,我最好使用面板控件吗?
是的,这是可能的.在项目中添加一个新类并粘贴下面显示的代码.编译.将新控件从工具箱顶部拖放到表单上.
using System;
using System.Windows.Forms;
public class MyTabControl : TabControl {
private int mPages = 0;
private void checkOnePage() {
if (IsHandleCreated) {
int pages = mPages;
mPages = this.TabCount;
if ((pages == 1 && mPages > 1) || (pages > 1 && mPages == 1))
this.RecreateHandle();
}
}
protected override void OnControlAdded(ControlEventArgs e) {
base.OnControlAdded(e);
checkOnePage();
}
protected override void OnControlRemoved(ControlEventArgs e) {
base.OnControlRemoved(e);
checkOnePage();
}
protected override void WndProc(ref Message m) {
// Hide tabs by trapping the TCM_ADJUSTRECT message
if (m.Msg == 0x1328 && !DesignMode && this.TabCount == 1) m.Result = (IntPtr)1;
else base.WndProc(ref m);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3174 次 |
| 最近记录: |