winform下的tabcontrol控件

Foreordination Foreordination     2022-10-13     378

关键词:

一、TabControl控件介绍

TabControl实现的具体效果:

 

在实际工作中,我是这么用TabControl控件,实现切换页面效果。比如要实现某个界面进行操作,然后还要查看一下日志,就可以使用这个TabControl控件,来实现。

 

OpenFileDialog控件的使用:

这个控件一般拖放在最下方。一般用于打开文件,浏览。比如要在文件路径下,导入一个excel文件,先点击浏览按钮,触发后弹出文件筛选器

然后,文件路径的文本框会显示该文件的具体路径,然后进行导入操作。

可以在导入的同时,将出错的信息写到日志里面,可以进行查看日志。

首先要给页面定义这几个事件:

  • 查询事件
  • 页面加载事件
  • 浏览事件
  • 日志记录。

查询事件:

#region SetData()
        private void SetData()
        {
            if (txbBKVSL.Text.Trim() != null && txbBKVOY.Text.Trim() != null && txbBKFLG2.Text.Trim() != null)
            {
                DateTime dtBegin = MessageProcess.GetDataWait();
                ParmArray parmArray = new ParmArray();
                parmArray.Add("ADotBKVSL", this.txbBKVSL.Text.ToString().Trim());//船代码
                parmArray.Add("ADotBKVOY", this.txbBKVOY.Text.ToString().Trim());//航次
                parmArray.Add("ADotBKFLG2", this.txbBKFLG2.Text.ToString().Trim());//代理
                DataSet ds = lnflibSystem.GetImportExcelData(parmArray);
                OperateUI.AddSelectColumn(ds);
                if (!OperateUI.HaveData(ds))
                {
                    MessageBox.Show("无效的船代码,航次,代理!");
                    return ;
                }
                ControlMethord.GridInfoShow(dtBegin,ds,grdList);
            }
        }
        #endregion

        #region 查询
        private void ExportExcelExport_EventQuery(object sender, EventArgs e)
        {
            SetData();
        }
        #endregion
View Code

页面加载事件:初始化页面用

#region 页面加载
        private void ExportExcelExport_Load(object sender, EventArgs e)
        {
            grdList.InitPropertiy();
        }
        #endregion
View Code

浏览事件:

#region 浏览文件
        private void ImportExcelImport_EventDetail(object sender, EventArgs e)
        {
            if (textFilePath.Text.Length > 0)
            {
                openFileDialog1.FileName = textFilePath.Text;
            }
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                textFilePath.Text = openFileDialog1.FileName;
            }
        }
        #endregion
View Code

日志记录方法:

        #region 日志记录

        #region 日志回调函数
        /// <summary>
        /// 日志回调函数
        /// </summary>
        /// <param name="text"></param>
        private delegate void SetLogTextCallback(string text);
        #endregion

        #region 写日志
        /// <summary>
        /// 写日志
        /// </summary>
        /// <param name="strMsg"></param>
        private void SetLogText(string strMsg)
        {
            // InvokeRequired需要比较调用线程ID和创建线程ID
            // 如果它们不相同则返回true
            if (this.tbInfo.InvokeRequired)
            {
                SetLogTextCallback d = new SetLogTextCallback(SetLogText);
                this.Invoke(d, new object[] { strMsg });
            }
            else
            {
                tbInfo.Text = tbInfo.Text + strMsg;
            }
        }
        #endregion

        #region 日志信息
        private void LogMessage(string strMsg)
        {
            strMsg = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + strMsg + System.Environment.NewLine;
            MessageProcess.InfoShow(strMsg);
            SetLogText(strMsg);
        }
        #endregion

        #endregion
View Code

 

by author:Foreordination

2018-02-01 10:19:41

c#-winform重绘tabcontrol控件,标签带logo图标

模仿网页浏览器标签重绘Tabcontrol控件,每个标签页左上角的Logo图标可以自定义,当然图标也可以挪到右边,直接上图。 查看详情

如何去掉c#winform里tabcontrol控件的边框

tabpage的边框已经设置为none,padding和margin都设置为0,还是有边框~~参考技术A在绘制事件中重绘边框。 参考技术B自己做个控件吧,那个很难控制的,而且自己做出来的控件方便本回答被提问者采纳 查看详情

wpf控件操作之改变父控件之tabcontrol示例(代码片段)

...网上那些很装逼的答案。效果图,要实现的效果就是通过TabControl的Select事件,让最子层的界面在第二层TabControl的不同TAbItem之间移动,而第二层TabControl又在最顶层的TabControl的TabItem之间移动。伪造每个页面都有内容的假象,并且... 查看详情

C# WinForm TabControl 格式化问题

】C#WinFormTabControl格式化问题【英文标题】:C#WinFormTabControlFormattingIssue【发布时间】:2021-10-0407:58:15【问题描述】:当以编程方式将控件添加到选项卡控件时,我一直在使用Form_Load事件来创建数据网格视图等内容并将其嵌入到我... 查看详情

c#winform的选项卡控件,怎么通过代码在一个tabcontrol控件里进行新建选项卡页,删除选项卡页,移位,等等

求具体实例代码,多谢!回答的好的我再加分。tabControl1.TabPages.Add("ta");tabcontrol里面有一个tabpages的属性.add(“选项卡的名字”)tabControl1.TabPages.Add("ta");//添加一个名字为ta的选项卡tabControl1.TabPages.Clear();//移除所... 查看详情

在c#生成的winform中加tab,求解!!!

我用了tabcontrol控件,我知道可以在tabcontrol中加tab,但是现在我想在生成的Winform中加tab,不知道该怎么编代码,求解!!!你的意思是按tab键切换TabControl页面?还是添加TabControl页面??如果是前者:只要选中页面,找到TabIndex... 查看详情

将控件从文件夹添加到 tabControl

】将控件从文件夹添加到tabControl【英文标题】:AddcontrolsfromFoldertotabControl【发布时间】:2015-01-3009:38:45【问题描述】:希望能帮到我。这几天我一直在为此苦苦挣扎:(我有一个winforms项目,在项目中我有一个名为“Controls”的文... 查看详情

c#winform中tabcontrol怎么在每个选项卡的卡头添加不同的图标

在一个TabControl控件中,有几个选项卡,现在想在每个选项卡的顶头用图标显示。我找到了一段把所有选项卡的卡头加上图标,有没有办法每个卡头的图标都不一样呢可以的,你要现在form窗体中加入一个imagelist,名字为imagelist1,... 查看详情

c#winform,怎么通过控件的name属性判断某个控件是不是已经存在

我是想在tabControl中动态添加tabPage,但同样的tabPage只能出现一次,所以我想在添加tabPage前判断该tabPage是否已经存在if(tabControl1.Controls.Find("控件名字",false).Count(x=>x.Name=="控件名字")>0)//控件存在else//控件不存在... 查看详情

winform中怎么绘制圆角选项卡?

先看下这个效果给你个思路:重写TabControl控件,重载OnPaint方法public class CustomTabControl : TabControl        //......                protected override void OnPaint(PaintEventArgs e)                    this.PaintTransparentB... 查看详情

winform里面tabcontrol怎么关闭

参考技术A在TabControl的ContextMenuStrip中添加你需要右击出现的ContextMenuStrip,然后再TabControl里的MouseDown事件里加入如下代码:if(e.Button==MouseButtons.Right)for(inti=0;i<tabControl1.TabPages.Count;i++)if(tabControl... 查看详情

c#中winform程序怎么制作纵向选项卡

...选项卡?好像要用到第三方控件,可是没找到--C#WINFORM的TabControl本身就可以纵向你将TabControl的Alignment改成Left或者Right就可以了左右两侧的纵向选项卡改成left/right后选项卡的文字是显示不出来的需要自己重写以下drawitem方法privatev... 查看详情

winform动态加载tabcontrol用法实例

本文实例讲述了Winform动态加载TabControl用法。分享给大家供大家参考。具体实现代码如下:代码如下:privatevoidBindTabData(){dtIPD=newDataTable();//drItem=newDataTable();//获取【项目大类】列表显示于TabPageMRD_Scoremodel=newMRD_Score();model.ActiveFlag=“... 查看详情

c#winform中如何实现tabcontrol1控件页面跳转?通过主页面上的菜单栏(见图)选择后,并跳出相应的页面

...实现,是C#的。求解!最好仔细点,多谢!菜单栏图片:tabControl1控件:以上2张图片不是在同一个窗体!!设第一个图片的名字叫form1,第二个是form2,并把form2的tag设为0。【tag在属性窗口中就可以设置】form1中:分别把部门设置、... 查看详情

c#winform怎么用程序切换tabcontrol?

C#WinForm怎么用程序切换tabcontrol?用程序来切换,代替手工点击假定tabcontrol1的选项卡有两个:TabPage1、TabPage2TabControl1.SelectedTab=TabPage2转到第二个选项卡参考技术A可以,tabControl1.SelectTab(index);第一个是0本回答被提问者采纳 参考技术... 查看详情

winform控件tabelcontrol对tabelpage页的添加,删除操作

 一般是写一个按钮点击事件实现了选中那个关那个//点击添加按钮privatevoidbutton1_Click(objectsender,EventArgse){tabControl1.TabPages.Add("新建页面");}//点击删除按钮privatevoidbutton2_Click(objectsender,EventArgse){//获取选中选项卡的索引intx=tabCo 查看详情

.Net WinForms TabControl Steals 专注于表单激活

】.NetWinFormsTabControlSteals专注于表单激活【英文标题】:.NetWinFormsTabControlStealsFocusonformactivation【发布时间】:2011-03-2912:41:44【问题描述】:不知道有没有人可以帮助我?我遇到的问题是Windows表单TabPage在重新激活表单时窃取了焦... 查看详情

自定义 TabControl 以关闭单个选项卡

】自定义TabControl以关闭单个选项卡【英文标题】:CustomizingaTabControlfortheClosingofIndividualTabs【发布时间】:2010-10-2215:47:42【问题描述】:我的场景如下:我正在使用C#开发一个winforms应用程序,该应用程序在tabcontrol的主页内有一个... 查看详情