2012-01-30 2 views
1

Если у меня есть следующий код и вы хотите выровнять управление кнопкой в ​​горизонтальном центре формы.Горизонтальное выравнивание по центру формы в форме

let myForm:Form = new Form() 
myForm.Text <- "myForm" 
myForm.Height <- 500 
myForm.Width <- 500 
let button:Button = new Button() 
button.Text <- "Click" 
myForm.Controls.Add(button) 
button.Location <- Point(200, 20) 
// Using this code to align this control to center 

Пожалуйста, предложите мне хороший способ горизонтального выравнивания по центру. Вышеуказанное не будет работать, если форма максимизирована. И, пожалуйста, предложите мне улучшить код, если есть другие хорошие практики.

Благодаря

ответ

2

Транслейтинг @ ispiro на F # - если вы хотите, чтобы отцентрировать каждый раз при изменении размеров формы

Form1.Resize.Add (fun _ -> button1.Location <- new Point(this.ClientSize.Width/2 - button1.Width/2, button1.Location.Y)) 

Если это только happending в конструкторе, вы можете просто сделать

button.Location <- Point(myForm.Width/2 - button.Width/2, button.Location.Y) 
3

Это, как я хотел бы сделать это в C#. Может быть, это может вам помочь.

Resize += new EventHandler(Form1_Resize); 

И: ответ

void Form1_Resize(object sender, EventArgs e) 
{ 
    button1.Location = new Point(this.ClientSize.Width/2 - button1.Width/2, button1.Location.Y); 
} 
Смежные вопросы