c# tab頁標畫上關閉按鈕
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace qqqqq
{
public partial class Form1 : Form
{
public Form1()
: base()
{
InitializeComponent();
}
private Icon icon = null;
int PageMaxIndex = 0;
private void button1_Click(object sender, System.EventArgs e)
{
PageMaxIndex++;
tabControl1.TabPages.Add(new TabPage("ABC-" + PageMaxIndex));
}
//關閉區域的寬高
const int CLOSE_SIZE = 15;
//重畫
private void tabControl1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
{
Graphics g = e.Graphics;
using (Pen p = new Pen(this.ForeColor))
{
Rectangle myTabRect = tabControl1.GetTabRect(e.Index);
//把字寫上
g.DrawString(tabControl1.TabPages[e.Index].Text
, this.Font
, SystemBrushes.ControlText
, myTabRect.X + 2, myTabRect.Y + 2);
//模擬繪製一個區域表示關閉的的地方(是一個紅色的方塊區域)
//當然大多時候畫一個圖就可以了 12*12的
myTabRect.Offset(myTabRect.Width - (CLOSE_SIZE + 3), 2);
myTabRect.Width = CLOSE_SIZE;
myTabRect.Height = CLOSE_SIZE;
//g.DrawRectangle(p, myTabRect);
icon = qqqqq.Properties.Resources._2;
g.DrawIcon(icon, myTabRect);
}
}
private void tabControl1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
int x = e.X, y = e.Y;
//計算關閉區域
Rectangle myTabRect = tabControl1.GetTabRect(tabControl1.SelectedIndex);
myTabRect.Offset(myTabRect.Width - (CLOSE_SIZE + 3), 2);
myTabRect.Width = CLOSE_SIZE;
myTabRect.Height = CLOSE_SIZE;
//如果滑鼠在區域內就關閉選項卡
bool isClose = x > myTabRect.X
&& x < myTabRect.Right
&& y > myTabRect.Y
&& y < myTabRect.Bottom;
if (isClose)
{
tabControl1.TabPages.Remove(tabControl1.SelectedTab);
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
//設定若干屬性
tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;
tabControl1.Padding = new System.Drawing.Point(15, 0);
tabControl1.DrawItem += new DrawItemEventHandler(tabControl1_DrawItem);
tabControl1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tabControl1_MouseDown);
}
private void tabPage1_Click(object sender, EventArgs e)
{
}
}
}
上面是百度下就能出來的東西,接下來一些注意點
1.程式碼中出現了Resources._2,是這樣新增進去的就是新增一個關閉的圖片
2.操蛋的是,很多時候,程式碼一模一樣都不能執行,這時候是因為Form1_Load是你手動輸入的,你需要在vs設計介面雙擊生成,這樣才能正常執行
相關推薦
c# tab頁標畫上關閉按鈕
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.
C# 重繪tabControl,新增關閉按鈕(續)
在上一篇隨筆中,新增關閉按鈕是可以實現 ,但細心一點就會發現,每次關閉一個選項卡,tableControl都會自動跳到第一個頁面,顯然 這不是我們想要的,為此,我修改了部分的程式碼。除此之外,我還添加了一些兩個新的方法,用於建立新的tablePage.以下是我實現 的類
C# Winform實現捕獲窗體最小化、最大化、關閉按鈕事件的方法
comm c# 基於 prot void 地址 tp服務器 plugin ant 本文實例講述了C# Winform實現捕獲窗體最小化、最大化、關閉按鈕事件的方法,主要是通過重寫WndProc來實現的。分享給大家供大家參考。具體方法如下: 主要功能代碼如下:const i
C#自定義帶關閉按鈕的TabControl例項
網上有很多關於TabCcotrol繪 制關閉按鈕的程式碼,這裡是修改以後的支援image的顯示的例項 效果圖如下: 原始碼下載地址:http://download.csdn.net/download/flyking2/10182197 部分程式碼如下:
HUI-TAB在一個頁面上點選一個連線,重新開啟一個tab頁籤
效果: index.jsp主頁面: <shiro:authenticated> <li><a style="color:#804000;margin-left:5px;" id="todomatter"
swiper輪播圖包在div(tab切換)下js上一頁下一頁點選事件失效解決辦法
問題: 兩種解決辦法: 解決辦法一: var mySwiper = new Swiper ('.swiper-container', { nextButton: '.swiper-button-next', p
禁用視窗上的關閉按鈕
實現效果: 知識運用: 視窗處理方法WndProc的重寫方法 在其內部擷取關閉視窗的訊息以實現禁用 該方法主要用來處理Windows訊息 protected virtual void WndProc(ref Message m) //m: 要處理的windows訊息 實現程式
H+ 編輯tab頁 儲存後 重新整理列表tab頁 並關閉自已。tabA頁呼叫tabB頁的方法
//注:在contabs.js檔案中 $(function () { }); 方法外 加入 //注: data-name="' + menuName + '" 這句是加入的自定義屬性 用於以後通過name屬性進行處理 如:通過name屬性關閉tab頁面 //var str = '<a
C# 窗體的最大化、最小化、關閉按鈕的自定義
1 建立一個窗體專案(本專案是在VS2015中進行建立) 2 將窗體的FormBorderStyle屬性設定為None,設定後窗體的標題欄將消失不顯示 3 新增2個panel空間,如下圖佈置,上面一個panel作為標題欄,下面一個panel作為窗體內容顯示區
當程式設計師遇到畫素:關於一個tab頁CSS效果的除錯
手頭上的jsp應用要做一個tab頁形式的選單,作為不喜歡畫圖的程式設計師,我copy了另一個系統的檔案。下面是html檔案顯示出來的原始效果 是用css做了圖片分割,tab所用的圖片僅有一個而已: tabs_bg.gif 要做成動態的,就不免要把html檔案 轉成 jsp檔案
C# Winform實現捕獲窗體最小化、最大化、關閉按鈕事件的方法,可通過重寫WndProc來實現
主要功能程式碼如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 const int WM_SYSCOMMAND = 0x112; const int SC_CLOSE = 0xF060; const i
MFC刪除工具欄上的關閉按鈕
MFC的工具欄,在浮動的時候,會有一個關閉按鈕,有時候要去掉這個關閉按鈕,要怎麼做呢? 方法為: 從CToolBar派生一個類,比如CToolBarEx,然後新增訊息WM_WINDOWPOSCHANGED的響應函式。 在函式中新增如下程式碼: void CToolBarEx
C# 在PDF中繪製上標和下標文字
這篇文章將介紹如何使用C#在PDF文件中繪製上標和下標文字。 所需PDF元件: Free Spire.PDF for .NET 4.3 Free Spire.PDF dll 可通過官網下載或直接通過NuGet Package Manager搜尋Free Spire.PDF安裝。
在C#中,Windows Console控制檯 設定控制檯標題、禁用關閉按鈕、關閉快速編輯模式、插入模式
設定控制檯標題 禁用關閉按鈕 關閉快速編輯模式 關閉插入模式 設定控制檯標題、禁用關閉按鈕 #region 設定控制檯標題 禁用關閉按鈕 [DllImport("user32.dll", EntryPoi
在C#中,Windows Console控制臺 設置控制臺標題、禁用關閉按鈕、關閉快速編輯模式、插入模式
hwnd 遠程 blog 技術 down 圖片 nta 調用 getc 設置控制臺標題 禁用關閉按鈕 關閉快速編輯模式 關閉插入模式 設置控制臺標題、禁用關閉按鈕 #region 設置控制臺標題 禁用關閉按鈕 [
c#設定不顯示右上角的最小化最大化關閉按鈕
在C#窗體程式設計時,如何設定不顯示右上角的最小化最大化關閉按鈕。 可以通過this.ControlBox這個屬性的值來控制。 在Windows的窗體程式設計中,基本上每一個窗體都是一個最小化、最大化和關閉按鈕的。見慣了千篇一律,我們有時需要有一點新意,比如來把右上角
C# WinForm 最大化、最小化、關閉按鈕事件的攔截
private int WM_SYSCOMMAND = 0x112; private long SC_MAXIMIZE = 0xF030; private long SC_MINIMIZE = 0xF020; private long SC_CLOSE = 0xF060;
c#中給tabpage增加關閉按鈕
先來看下效果 要實現這個功能,我們分兩步來走,首先是需要繪製這個按鈕,然後再對這個按鈕的事件作出響應 1、將tabcontrol的繪製模式屬性修改為OwnerDrawFixed,這樣我們才能對DrawItem事件進行重寫 DrawItem繪製標題前將我們需要的按鈕繪製上
c#winform禁用關閉按鈕的方法
一、設定ControlBox為false 二、呼叫API實現了禁用關閉按鈕 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; u
C語言 關閉按鈕無效化 隱藏標題欄
//關閉按鈕無效 #include <windows.h> #include <stdio.h> int main() { DeleteMenu(GetSystemMenu(