2016-08-14 1 views
0

, 온라인 서로 다른 소스에서보고 양식을 withing에 위치 제어 항목에 대한 다른 방법이 있지만, (을 나는 그 문장를 사용하는 거라고 생각하지 않습니다)합니다.

:

[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') 
$form = New-Object System.Windows.Forms.Form 

$button = New-Object System.Windows.Forms.Button 
$button.Top = 30 
$button.Left = 30 
$form.Controls.Add($button) 

그러나, 둘러보고, 내가 본 대부분의 장소가이 방법을 사용 :

내가 먼저 간단한 양식을 작성하는 방법에 대한 기본 프레임 워크로 자신을 익숙하게 시작,이 보여

[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') 
[System.Reflection.Assembly]::LoadWithPartialName('System.Drawing') 

$form = New-Object System.Windows.Forms.Form 

$button = New-Object System.Windows.Forms.Button 
$button.Location = New-Object System.Drawing.Size(30,30) 
$form.Controls.Add($button) 

정확히 같은 일을 달성하기 위해 나타납니다. 같은 일을하는

다른 방법 (어쨌든, 나에게) 프로그램의 재미를 만드는 것입니다. 제가 알고 싶은 것은 후자가 더 일반적으로 시연되고 왜 이유가 있는지 이유가있는 경우입니다.

감사합니다.

답변

1

예 당신은 맞다. 결국 그것은 정확히 동일합니다. 세 가지 속성은 모두 system.windows.forms.control에서 파생됩니다.


Microsoft에서 문서 말한다 :

Control.Left : 컨트롤의 왼쪽 가장자리와 해당 컨테이너 클라이언트 영역의 왼쪽 가장자리 사이의 거리 (픽셀)를 가져 오거나 설정합니다 [... ] Left 속성 값은 컨트롤의 Location 속성 값의 Point.X 속성과 같습니다.

Control.Top : 컨트롤의 위쪽 가장자리와 해당 컨테이너 클라이언트 영역의 위쪽 가장자리 사이의 거리 (픽셀)를 가져 오거나 설정합니다. [...] Top 속성 값은 컨트롤의 Location 속성 값의 Point.Y 속성과 같습니다.


그것은 당신이 특정 시나리오에서 사용하려면 무엇을 할입니다. 내가 보는 유일한 차이점은 위치를 설정하기 위해 새로운 객체 (값 유형)가 필요하다는 것입니다. 위쪽 또는 왼쪽을 설정하기 위해서는 [int] 만 필요합니다.

+0

굉장! System.Drawing.Size ($ control.Left, $ control.Top)는 가능성이 있지만 Windows는 사용하기 쉽도록 중복 도구 및 방법을 유지하는 경향이 있습니다. – Rincewind

관련 문제