C# TabControl

Nguyễn Xuân Sơn
(NguyenXuanSon)

New Member
cho tớ hỏi cái,
tơ đang viết chương trìnnh nhỏ với C# va co dùng TabControl de quản lý dynamically các tab, Nhưng tớ không thể nào làm được điều này:

1/ vói một string NAME (OK)
2/ tìm tất cả các Tab hiện có nếu có Tab co tên là NAME, nếu có thì (OK)
HIỂN THỊ TAB đó (như là bạn ấn vào TAB đó), tớ không làm được
3/ Nếu chưa có tạo TAB mới (OK) và
HIỂN THỊ TAB đó như là bạn CLICK on that TAB (tớ chưa làm được)
giúp tớ cái
XS
 
Nguyễn Xuân Sơn đã viết:
cho tớ hỏi cái,
tơ đang viết chương trìnnh nhỏ với C# va co dùng TabControl de quản lý dynamically các tab, Nhưng tớ không thể nào làm được điều này:

1/ vói một string NAME (OK)
2/ tìm tất cả các Tab hiện có nếu có Tab co tên là NAME, nếu có thì (OK)
HIỂN THỊ TAB đó (như là bạn ấn vào TAB đó), tớ không làm được
3/ Nếu chưa có tạo TAB mới (OK) và
HIỂN THỊ TAB đó như là bạn CLICK on that TAB (tớ chưa làm được)
giúp tớ cái
XS

Sơn dùng System.Windows.Forms.TabControl và System.Windows.Forms.TabPage à ?

TabControl có 1 Property là TabPages, TabPages có mấy method như là Contains(TabPage) và IndexOf(TabPage), rồi TabControl thì có SelectedIndex và SelectedTab, 0 phải dùng mấy cái đó thì làm được sao ?

P.S.: Anh 0 dùng C#, install #develop cho có trong máy thôi, nên chỉ đoán mò vậy :)
 
em co dung may cai day, nhung khong duoc
cuoi cung em dung mot cach cu chuoi la cai nao can highlighted em cho no co index=0!!!!!
XS
 
Nguyễn Xuân Sơn đã viết:
em co dung may cai day, nhung khong duoc
cuoi cung em dung mot cach cu chuoi la cai nao can highlighted em cho no co index=0!!!!!
XS
hmm quái nhỉ, anh chỉ cần gọi tabControl1.SelectedIndex = 2 là nó chọn ngay tab thứ ba cho mình kia mà. Ngay cả muốn chọn tab theo tên (TabPage.Text) cũng đơn giản vậy.
Mã:
using System;
using System.Drawing;
using System.Windows.Forms;

namespace TestApp1
{
	/// <summary>
	/// Description of MainForm.
	/// </summary>
	public class MainForm : System.Windows.Forms.Form
	{
		private System.Windows.Forms.TabPage tabPage2;
		private System.Windows.Forms.TabPage tabPage1;
		private System.Windows.Forms.TabControl tabControl1;
		private System.Windows.Forms.TabPage tabPage3;
		public MainForm()
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			InitializeComponent();
			
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
		}
		
		[STAThread]
		public static void Main(string[] args)
		{
			Application.Run(new MainForm());
		}
		
		#region Windows Forms Designer generated code
		/// <summary>
		/// This method is required for Windows Forms designer support.
		/// Do not change the method contents inside the source code editor. The Forms designer might
		/// not be able to load this method if it was changed manually.
		/// </summary>
		private void InitializeComponent() {
			this.tabPage3 = new System.Windows.Forms.TabPage();
			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();
			// 
			// tabPage3
			// 
			this.tabPage3.Location = new System.Drawing.Point(4, 22);
			this.tabPage3.Name = "tabPage3";
			this.tabPage3.Size = new System.Drawing.Size(512, 270);
			this.tabPage3.TabIndex = 2;
			this.tabPage3.Text = "tab3";
			// 
			// tabControl1
			// 
			this.tabControl1.Controls.Add(this.tabPage1);
			this.tabControl1.Controls.Add(this.tabPage2);
			this.tabControl1.Controls.Add(this.tabPage3);
			this.tabControl1.Location = new System.Drawing.Point(72, 72);
			this.tabControl1.Name = "tabControl1";
			this.tabControl1.SelectedIndex = 0;
			this.tabControl1.Size = new System.Drawing.Size(520, 296);
			this.tabControl1.TabIndex = 0;
			// 
			// tabPage1
			// 
			this.tabPage1.Location = new System.Drawing.Point(4, 22);
			this.tabPage1.Name = "tabPage1";
			this.tabPage1.Size = new System.Drawing.Size(512, 270);
			this.tabPage1.TabIndex = 0;
			this.tabPage1.Text = "tab1";
			// 
			// tabPage2
			// 
			this.tabPage2.Location = new System.Drawing.Point(4, 22);
			this.tabPage2.Name = "tabPage2";
			this.tabPage2.Size = new System.Drawing.Size(512, 270);
			this.tabPage2.TabIndex = 1;
			this.tabPage2.Text = "tab2";
			// 
			// MainForm
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(640, 421);
			this.Controls.Add(this.tabControl1);
			this.Name = "MainForm";
			this.Text = "MainForm";
			this.Load += new System.EventHandler(this.MainFormLoad);
			this.tabControl1.ResumeLayout(false);
			this.ResumeLayout(false);
		}
		#endregion
		void MainFormLoad(object sender, System.EventArgs e)
		{
			int nCount = tabControl1.TabCount;
			for (int i=0;i<nCount;i++) {
				if (tabControl1.TabPages[i].Text == "tab3")
					tabControl1.SelectedIndex = i;
					
			}
		}
		
	}
}
hehehe khi thử bị ngay lỗi dùng = mà 0 dùng ==, đúng là lâu quá 0 động tới họ hàng nhà C :)
 
Chỉnh sửa lần cuối:
chó chết thật,
the quái nào lúc em code lai không thấy nhỉ.
chắc đầu óc bị chập hay mệt mỏi quá lúc đấy rồi.
cảm ơn sếp. Mà sếp giúp em tăm một người làm intern cái, giởi C# va C++ vào. Toán cũng đừng kém quá.
XS
 
Back
Bên trên