none
有關按鈕寫法 RRS feed

  • 問題

  • 各位大大你們好

    我想請問大大們

    是否有寫過自訂控制項的形狀

    例如button怎麼變成圓的

    我有一支程式可以變成橢圓形

    不過不會變成圓的

    請各位大大不吝教導

     

    這是橢圓形的程式

     System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
                path.AddEllipse(this.button1.ClientRectangle);
                this.button1.Region = new Region(path);

    2009年1月12日 上午 09:24

解答

  • 圓形是橢圓形的一種特例(就是x軸 = y軸 時是圓形, x !=y 是橢圓形)

    看code 不行的話就是原本button1.ClientRectangle 是長方形, 改成正方形就行了

     

    2009年1月12日 上午 09:53

所有回覆

  • 圓形是橢圓形的一種特例(就是x軸 = y軸 時是圓形, x !=y 是橢圓形)

    看code 不行的話就是原本button1.ClientRectangle 是長方形, 改成正方形就行了

     

    2009年1月12日 上午 09:53
  • 大大不好意思

    我不懂"原本button1.ClientRectangle 是長方形, 改成正方形就行了"這句話的意思

    麻煩你(妳)可以多加說明嘛?

    謝謝你(妳)的教導

     

    這個問題已解決

    不用再回覆

    謝謝各位大大的教導

    2009年1月12日 上午 10:22
  • System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
                path.AddEllipse(this.button1.ClientRectangle);
                this.button1.Region = new Region(path);

    這一看就很簡單的Code;

    //建立一個路徑,怎麼任意的形狀都可以畫出來.

    System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();

    //將button1 的長跟寬取出來,當然你將AddEllipses(橢圓形)換Addxxxx你就能畫出圓形或其他圖形,當然傳入參數可能不同.比如圓形可能傳圓點跟半徑...這裡如果你知道長跟寬你就直接給予值就好了.

    path.AddEllipse(this.button1.ClientRectangle);

    //將路徑指派回原button1 上,這樣button 就呈現路徑的形狀

    this.button1.Region = new Region(path);

     

    所謂將button1 改成正方形

    button1.Hight=50;

    button1.Width=button1.Height;

     

     

    2009年1月13日 上午 09:00
  • 樓上的大大

    我想請問一下

    我在backcolor的屬性設成control時

    按下執行確是透明的

    然後我在改成紅色確有顯示

     

    後來我在用imagelist設成我要的bmp檔時

    在把backcolor改成control確形成透明的圓形按鈕

    確無法顯示圖樣

    我一直想不出解決辦法

    請各位大大不吝教導

    2009年1月16日 上午 07:59
  •  天 寫信:

    樓上的大大

    我想請問一下

    我在backcolor的屬性設成control時

    按下執行確是透明的

    然後我在改成紅色確有顯示

     

    後來我在用imagelist設成我要的bmp檔時

    在把backcolor改成control確形成透明的圓形按鈕

    確無法顯示圖樣

    我一直想不出解決辦法

    請各位大大不吝教導

     

    各位大大你們好

    這問題已經解決不用再回覆

    謝謝各位大大的教導

    2009年1月19日 上午 05:25