• Winform 使用NotNetBar
namespace WindowsFormExample
{
public partial class FrmMain : Office2007Form
{
public FrmMain()
{
InitializeComponent();
}
private int index = 0;
private void MenuItem(object sender, EventArgs e)
{
string menuItemTxt = ((DevComponents.DotNetBar.BaseItem)(sender)).Text;
Office2007Form f = new Office2007Form();
switch (menuItemTxt)
{
case "File_ReadWrite":
f = new Frm.FileExample();
break;
case "DataGridExample":
f = new Frm.FrmDataGrid();
break;
case "1":
break;
case "2":
break;
case "3":
break;
case "4":
break;
case "5":
break;
default:
break;
}
//for (int i = 0; i < this.tabControl1.Tabs.Count; i++)
//{//已经打开了 就默认选中即可了
// if (tabControl1.Tabs[i].Text == menuItemTxt)
// {
// this.tabControl1.SelectedTab = tabControl1.Tabs[i];
// return;
// }
//}
//f.TopLevel = false;
//f.FormBorderStyle = FormBorderStyle.None;
//f.WindowState = FormWindowState.Maximized;
//TabPage Page = new TabPage();
//Page.Name = "Page" + index.ToString();
//Page.Text = menuItemTxt.ToString();
//Page.TabIndex = index;
//// tabControl1.TabPages[0].Controls.Add(f);
//Page.Controls.Add(f);
//this.tabControl1.Controls.Add(Page); //f.TopLevel = false;
//f.FormBorderStyle = FormBorderStyle.None;
//f.WindowState = FormWindowState.Maximized; //TabItem it = new TabItem(); //it.Text = menuItemTxt.ToString();
//it.Name = "Page" + index.ToString(); //TabPage p = new TabPage(); //p.Container.Add();
//this.tabControl1.Tabs.Add(it); //#region 三种设置某个选项卡为当前选项卡的方法
////this.tabControl1.SelectedIndex = index;
////this.tabControl1.SelectTab("Page" + index.ToString());
//#endregion
//this.tabControl1.SelectedTabIndex = index;
//f.Show();
//index++; AddForm(f); }
private void AddForm(Office2007Form frm)
{
this.tabControl1.Visible = true;
if (!IsOpenTab(frm.Text))
{ TabItem tabItem = tabControl1.CreateTab(frm.Text);
TabControlPanel tcp = new TabControlPanel();
tabItem.AttachedControl = tcp;
tcp.TabItem = tabItem;
tcp.Dock = DockStyle.Fill;
tcp.Name = frm.Name + "Tab"; frm.TopLevel = false;
frm.Dock = DockStyle.Fill;
frm.FormBorderStyle = FormBorderStyle.None;
frm.Show();
tcp.Controls.Add(frm); tabControl1.Controls.Add(tcp); tabControl1.SelectedTab = tabItem;
}
} /// <summary>
/// 检查是否已打开某个子窗体
///</summary>
/// <param name="tabName"></param>
/// <returns></returns>
private bool IsOpenTab(string tabName)
{
bool isOpened = false;
foreach (TabItem tab in tabControl1.Tabs)
{
if (tab.Text.Trim() == tabName.Trim())
{
isOpened = true; tabControl1.SelectedTab = tab;
break;
}
}
return isOpened;
}
private void FrmMain_Load(object sender, EventArgs e)
{ } private void tabControl1_TabItemClose(object sender, TabStripActionEventArgs e)
{
this.tabControl1.Tabs.RemoveAt(this.tabControl1.SelectedTabIndex);
if (tabControl1.Tabs.Count == 0)
{
AddForm(new Frm.FrmFirstPage());
}
}
}
}

Winform 应用DotnetBar的更多相关文章

  1. Winform 使用DotNetBar 根据菜单加载TabControl

    winform 如何使用TabControl 控件来做winform界面框架? 这样的效果: 首先菜单的窗口展示的承载器为TabControl 控件,这个控件本身包含多页面预览和页面初始化. 如图所示 ...

  2. 基于 Winform + DotNetBar 写的股市行情助手

    StockViewer 股市行情助手 简介 观看股市行情,窗口太显眼,是否担心被身后的老板发现? 窗口来回切换,工作时每隔几分钟就要看一眼股市.难道只能同时做一件事情吗? 现在,一款完全免费.开源的小 ...

  3. WinForm DotNetBar 动态添加DataGridView

    DataGridView dgv = new DataGridView(); dgv.Dock = DockStyle.Fill; dgv.Location = new System.Drawing. ...

  4. C# Winform DotNetBar控件之StyleManager

    这个控件作用改变窗体样式 使用方法 拖拽一个styleManager到窗体 改变它的managerStyle,再把窗体的继承改成Office2007Form 最后一步窗体初始化控件前 改掉的Enabl ...

  5. c# winForm DotNetBar控件之SuperGridControl

    1.添加表头 sgc.PrimaryGrid.SelectionGranularity = SelectionGranularity.Row;//点击选中一行 DevComponents.DotNet ...

  6. 关于使用dotnetbar开发winform程序在用户电脑上部署时问题

    1.首先要安装两个软件

  7. DotNetBar ItemPanel添加WinForm Control

    int itemcount = 20; Random rd = new Random(); itemPanel1.Items.Clear(); for (int i = 0; i < itemc ...

  8. winform快速开发平台 -> 通用权限管理之动态菜单

    这几个月一直忙APP的项目,没来得及更新项目,想想该抽出时间整理一下开发思路,跟大家分享,同时也希望得到宝贵的建议. 先说一下我们的权限管理的的设计思路,首先一个企业信息化管理系统一定会用到权限管理, ...

  9. 使用DotNetBar制作漂亮的WinFrom界面,自定义AgileEAS.NET SOA平台WinClient主界面

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  10. 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解

    关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

随机推荐

  1. Python中的容器、迭代器、生成器

    容器是一系列元素的集合,str.list.set.dict.file.sockets对象都可以看作是容器,容器都可以被迭代(用在for,while等语句中),因此他们被称为可迭代对象. 可迭代对象实现 ...

  2. abap 自定义搜索帮助

    ABAP 选择屏幕 自定义搜索帮助 物料号为例 如图展示的物料,是不经过自定义搜索帮助处理的,如果我只需要物料描述和物料号,且只限定20开头的物料,就需要用到自定义搜索帮助了 当使用自定义帮助后 效果 ...

  3. MySQL 打开慢查询 主从同步状态

    MySql 打开慢查询 set global log_output='FILE'; SET GLOBAL slow_query_log = ON; SET GLOBAL long_query_time ...

  4. 那些年vue踩过的坑v-if渲染完dom重新渲染 获取dom问题

    当查询完成是    加载chart图了, 因为 上面的 div 是v-if   还没来得级渲染 所以获取下面chart div 时 没有dom元素 报错了

  5. SQLServer数据库,使用Alter修改表的主外键结构

    1.先创一张测试表,直接在创建时,设置UserId为主键 2.检查表有无主键约束 也可以使用SQL语句查询 SELECT name FROM sys.key_constraintsWHERE type ...

  6. Astra-20190405

    Usage: astra.py [-h] [-c COLLECTION_TYPE] [-n COLLECTION_NAME] [-u URL] [-headers HEADERS] [-method ...

  7. 实验:spring-boot整合mybatis-plus实现分页查询的功能

    1.建立基于sping-boot的javaweb工程(java1.8) 按结构建立包 2.POM.XML添加支持mybatis-plus,sql,lombok <!--mybatis-plus的 ...

  8. 48. Rotate Image via java

    need to use scratch to find the pattern class Solution { public void rotate(int[][] matrix) { int n= ...

  9. upload 上传文件

    func SaveUploadedFile(file *multipart.FileHeader, dst string) error{ src, err := file.Open() if err ...

  10. 329MD5的加密

    一.引用帮助类 二.登录的代码