2017-06-23 6 views
0

私は、片側にコントロールのリストを持ち、もう片方にグラフを持つWindowsフォームを持っています。チェックボックスを非表示にしてグラフを表示するだけでなく、フォームに合わせてフォームを縮小または拡大することもできます。WinFormは新しいコントロールのウィンドウのサイズを自動的に変更しますが、ユーザーはサイズを調整できますか?

フォームにAutoSize=trueを使用しようとしましたが、ユーザーはフォームのサイズを調整できません(つまり、グラフを画面に拡大または縮小できません)。

は、それから私は、私は、グラフを表示し、オンデマンドでのフォームのサイズを変更するが、フォーム自身のサイズを変更からユーザーを制限することはできませんどのように
private void toggleCheckBox_Click(object sender, EventArgs e) 
    { 
     theGraph.Visible = toggleCheckBox.Checked; 

     // automatically resize the form 
     this.AutoSize = true; 
     this.AutoSizeMode = AutoSizeMode.GrowAndShrink; 
     this.OnResize(e); 

     // this will force the form back to its original size 
     // but without it the user cant adjust the form size 
     this.AutoSize = false; 
    } 

を試してみましたか?私が思いついた解決策は、サイズを保存する自動サイズ調整を無効にして、サイズを強制することでした

答えて

1

private void toggleCheckBox_Click(object sender, EventArgs e) 
    { 
     theGraph.Visible = toggleCheckBox.Checked; 

     // automatically resize the form 
     this.AutoSize = true; 
     this.AutoSizeMode = AutoSizeMode.GrowAndShrink; 
     this.OnResize(e); 

     var NewSize = new System.Drawing.Size(this.Width, this.Height); 

     // this will force the form back to its original size 
     // allowing the user to adjust the form 
     this.AutoSize = false; 

     // force the form back to its new size 
     this.Size = newSize; 
    } 

注:AutoSizeは必ずアンカーコントロールを正常に動作させるには希望の金額がフォームに表示されるようにコントロールを切り替えるためにMinimumSizeを設定します。

関連する問題