2012-07-06 69 views
1

我一直在插科打諢的東西,應該很簡單。保持面板上的按鈕位置調整

我感動的工作,並試圖得到一些我以前使用的基本工具,但當然我沒有舊的源代碼來看看。

我們已經擴展面板有一些標準的性質和功能(保存,關閉,保存並關閉)。

但我不能讓按鈕準確地在一個調整大小定位。我把這個ExtPanel放在一個表單上,但按鈕在我調整大小時不斷消失,或者不按預期移動(凍結在右下角)。

public partial class ExtPanel: UserControl 
    { 
    private System.Windows.Forms.Button btnSaveandClose; 
    private System.Windows.Forms.Button btnCancel; 
    private System.Windows.Forms.Button btnSave; 

    public ExtPanel() 
     { 
     InitializeComponent(); 
     } 

// misc things this class does... 


} 

public partial class ExtPanel 
    { 
    private void InitializeComponent() 
     { 
     this.btnSaveandClose = new System.Windows.Forms.Button(); 
     this.btnCancel = new System.Windows.Forms.Button(); 
     this.btnSave = new System.Windows.Forms.Button(); 
     this.panel1 = new System.Windows.Forms.Panel(); 
     this.panel1.SuspendLayout(); 
     this.SuspendLayout(); 
     // 
     // btnSaveandClose 
     // 
     this.btnSaveandClose.Location = new System.Drawing.Point(899, 689); 
     this.btnSaveandClose.Name = "btnSaveandClose"; 
     this.btnSaveandClose.Size = new System.Drawing.Size(100, 30); 
     this.btnSaveandClose.TabIndex = 0; 
     this.btnSaveandClose.Text = "Save and Close"; 
     this.btnSaveandClose.UseVisualStyleBackColor = true; 
     this.btnSaveandClose.Click += new System.EventHandler(this.Click_SaveandClose); 
     this.btnSaveandClose.Anchor = ((System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 

     // 
     // btnCancel 
     // 
     this.btnCancel.Location = new System.Drawing.Point(687, 689); 
     this.btnCancel.Name = "btnCancel"; 
     this.btnCancel.Size = new System.Drawing.Size(100, 30); 
     this.btnCancel.TabIndex = 1; 
     this.btnCancel.Text = "Cancel"; 
     this.btnCancel.UseVisualStyleBackColor = true; 
     this.btnCancel.Click += new System.EventHandler(this.Click_Close); 
     this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 

     // 
     // btnSave 
     // 
     this.btnSave.Location = new System.Drawing.Point(793, 689); 
     this.btnSave.Name = "btnSave"; 
     this.btnSave.Size = new System.Drawing.Size(100, 30); 
     this.btnSave.TabIndex = 2; 
     this.btnSave.Text = "Save"; 
     this.btnSave.UseVisualStyleBackColor = true; 
     this.btnSave.Click += new System.EventHandler(this.Click_Save); 
     this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 

     // 
     // panel1 
     // 
     this.panel1.AutoScroll = true; 
     this.panel1.Controls.Add(this.btnSave); 
     this.panel1.Controls.Add(this.btnCancel); 
     this.panel1.Controls.Add(this.btnSaveandClose); 
     this.panel1.Location = new System.Drawing.Point(0, 0); 
     this.panel1.Name = "panel1"; 
     this.panel1.Size = new System.Drawing.Size(1008, 730); 
     this.panel1.TabIndex = 0; 
     // 
     // ExtPanel 
     // 
     this.Controls.Add(this.panel1); 
     this.Name = "ExtPanel"; 
     this.Size = this.panel1.Size; 
     this.Click += new System.EventHandler(this.click_this); 
     this.panel1.ResumeLayout(false); 
     this.ResumeLayout(false); 

     } 

    #endregion 

    private System.Windows.Forms.Panel panel1; 


} 
+0

您對面板的期望是什麼?你有1008×730像素,所以它很大。這些按鈕目前固定在面板的右下角。問題是面板的滾動條總是將它們移出屏幕? – LarsTech 2012-07-06 20:56:41

+0

1024 * 768是非常正常的屏幕分辨率,該面板覆蓋整個表格。而不是創建一個基礎表單,創建一個基礎面板。我可以把一個Panel放在一個Form中,我不能在TabControl中放置一個Form。這讓我的設計變得有點靈活。 – 2012-07-09 14:28:04

回答

6

您是否嘗試過固定按鈕?

...我錯過了固定的代碼。

如果您有要調整的形式時,停留在較低的右上角較低右上角的按鈕,設置它的錨固性能,底部,右側。

更新:
我加載了您的代碼。你有一個ExtPanel內的面板。如果你停靠(Fill)該面板,那麼你應該通過調整ExtPanel的大小來正常工作。

+0

將ExtPanel停靠在我的表單中,並且工作正常。 – 2012-07-06 21:36:11