【转】winform tabcontrol控件的标签放到左边后,文字成是上下显示的
http://hi.baidu.com/ljhw1314/item/40efc97fac5fd53f6e29f6c8
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;
namespace WindowsApplication3 { /// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.TabControl tabControl1; private System.Windows.Forms.TabPage tabPage1; private System.Windows.Forms.TabPage tabPage2; /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null;
public Form1() { // // Windows 窗体设计器支持所必需的 // InitializeComponent();
// // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // }
/// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose(bool disposing) { if (disposing) { if (components != null) { components.Dispose(); } } base.Dispose(disposing); }
#region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.tabControl1.SuspendLayout(); this.SuspendLayout(); // // tabControl1 // this.tabControl1.Alignment = System.Windows.Forms.TabAlignment.Left; this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Location = new System.Drawing.Point(16, 16); this.tabControl1.Multiline = true; this.tabControl1.Name = "tabControl1 "; this.tabControl1.SelectedIndex = 0; this.tabControl1.TabIndex = 1; this.tabControl1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.tabControl1_DrawItem); // // tabPage1 // this.tabPage1.BackColor = System.Drawing.SystemColors.ActiveCaptionText; this.tabPage1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.tabPage1.Location = new System.Drawing.Point(40, 4); this.tabPage1.Name = "tabPage1 "; this.tabPage1.RightToLeft = System.Windows.Forms.RightToLeft.Yes; this.tabPage1.Size = new System.Drawing.Size(156, 92); this.tabPage1.TabIndex = 0; this.tabPage1.Text = "海宁1 "; // // tabPage2 // this.tabPage2.Location = new System.Drawing.Point(40, 4); this.tabPage2.Name = "tabPage2 "; this.tabPage2.Size = new System.Drawing.Size(156, 92); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "海宁2 "; this.tabPage2.Visible = false; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(292, 273); this.Controls.Add(this.tabControl1); this.Name = "Form1 "; this.Text = "Form1 "; this.Load += new System.EventHandler(this.Form1_Load); this.tabControl1.ResumeLayout(false); this.ResumeLayout(false);
} #endregion
/// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); }
private void Form1_Load(object sender, System.EventArgs e) { this.tabControl1.DrawMode = System.Windows.Forms.TabDrawMode.OwnerDrawFixed; this.tabControl1.Alignment = System.Windows.Forms.TabAlignment.Left; }
private void tabControl1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e) { StringFormat sf = new StringFormat();
// set the Alignment to center sf.LineAlignment = StringAlignment.Center; sf.Alignment = StringAlignment.Center; // Draw the text e.Graphics.DrawString(((TabControl)sender).TabPages[e.Index].Text, System.Windows.Forms.SystemInformation.MenuFont, new SolidBrush(Color.Black), e.Bounds, sf); } } }