C#:splitter的運用與Windows字型的字元運用。。。。(左右上下等箭頭)

來源:互聯網
上載者:User

 

代碼

/*splitter控制項一定要設定成為top或bottom 與上面的或下面的控制項Dock一致才有效果。
而且一定要注意這三個控制項的拖入順序。1.panel1,2.splitter,3.panel2.一定要保證splitter在中間拖入,是VS2005的小BUG吧。
 * 
 
 * Splitter 控制項可以在運行時調整停靠到 Splitter 控制項邊緣的控制項的大小。表單布局有些麻煩,需要實踐中才會明白。現說明表單分左右和上左右的兩種情況。
    第一種:表單分左右兩塊。 先拖拽一個treeView,設定其Dock屬性為Left,再拖拽一個Splitter,設定其Dock屬性為Left(預設情況下),最後拖拽一個listView,設定其Dock屬性為Fill,OK成功。
    第二種:表單分上左右三塊。 先拖拽一個toolBar,設定其Dock屬性為Top,再拖拽一個treeView,設定其Dock屬性為Left,再拖拽一個Splitter,設定其Dock屬性為Left,最後拖拽一個listView,設定其Dock屬性為Fill,OK成功。有時需要設定toolBar為置於底層,listView(Dock屬性為Fill的控制項)為置於頂層。如果不這樣,Splitter控制項會將表單分為2半,一半是treeView,一半是toolBar和listView。
    Splitter 必然要和拆分的兩個控制項中之一的Dock屬性一樣,另一個控制項的Dock屬性必須是Fill,最好將其置於頂層。  
*/

 

 

代碼

public partial class FormStart : Form
    {
        TreeView treeView1 = new TreeView();
        ListView listView1 = new ListView();
        Splitter splitter1 = new Splitter();
        ToolTip tt = new ToolTip();
        Label l = new Label();
        public FormStart()
        {
            InitializeComponent();
        }
        private void CreateMySplitControls()
        {
            
            treeView1.Dock = DockStyle.Left;           
            splitter1.Dock = DockStyle.Left;           
            //splitter1.MinExtra = 100;            
            //splitter1.MinSize  = 75;
            splitter1.Width    = 10;
            splitter1.Height   = 300;           
           
            l.Text     = "3";
            //l.AutoSize  = true;
            l.Location  = new Point(-6, splitter1.Height / 2 - l.Height);
            l.Font     = new System.Drawing.Font("Marlett", 14, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, (byte)3);
            l.ForeColor = Color.Red;       
            l.Cursor   = Cursors.Hand;
            splitter1.Controls.Add(l);
            
            listView1.Dock = DockStyle.Fill;            
            treeView1.Nodes.Add("TreeView Node");
            listView1.Items.Add("ListView Item");
            
            tt.SetToolTip(l, "隱藏左邊的的控制項");
            l.Click         += new EventHandler(ShowHide);
            splitter1.Resize += new EventHandler(splitter_Resize);
            
            this.Controls.AddRange(new Control[] { listView1, splitter1, treeView1 });
        }

        private void FormStart_Load(object sender, EventArgs e)
        {
            CreateMySplitControls();
        }
        private void ShowHide(object sender, EventArgs e)
        {
            if (l.Text == "3")
            {
                l.Text = "4";
                tt.SetToolTip(l, "顯示左邊的的控制項");
                treeView1.Visible = false;
            }
            else
            {
                l.Text = "3";
                tt.SetToolTip(l, "隱藏左邊的的控制項");
                treeView1.Visible = true;
            }
        }
        private void splitter_Resize(object o, EventArgs e)
        {
            l.Location = new Point(-6, splitter1.Height / 2 - l.Height);
        }
    }

 

 

 Form1.Designer.cs

 

代碼

 // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 273);
            this.Controls.Add(this.splitter1);
            this.Controls.Add(this.panel1);
            this.Controls.Add(this.panel2);
            this.Name = "Form1";
            this.Text = "Form1";
            this.panel1.ResumeLayout(false);
            this.panel2.ResumeLayout(false);
            this.panel2.PerformLayout();
            this.ResumeLayout(false);

 

 

 

 

  

 

 

Windows字型的字元運用。。。。

 Marlett 字型往上寫“5”(向上箭頭)、寫“6”(向下箭頭)就行了(事實上 Windows 所有視窗的關閉、最大化、最小化、恢複、協助、上下左右箭頭都是用 Marlett 字型畫上去的,系統禦用);

代碼

       private void Form2_Load(object sender, EventArgs e)
        {
            //splitter1.MinExtra = 800;            
            //splitter1.MinSize  = 75;
            splitter1.Width = 800;
            splitter1.Height = 15;    

            l.Text = "5"; //寫入的字,具體指示到符號的不同。。比如3為左箭頭,4為右箭頭。
            //l.AutoSize  = true;
            //l.Location = new Point( 200 , 50);
            l.Font = new System.Drawing.Font("marlett", 14, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, (byte)14);
            l.ForeColor = Color.Red;
            l.Cursor = Cursors.Hand;
            splitter1.Controls.Add(l);
        }

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.