如何檢查Location
是否爲x = 100, y = 100
?比較地點
' Compile error
If Button1.Location = 0, 0 Then
Button1.Visible = False
End If
如何檢查Location
是否爲x = 100, y = 100
?比較地點
' Compile error
If Button1.Location = 0, 0 Then
Button1.Visible = False
End If
的Location
屬性是Point
類型的,所以你必須把它比作Point
值。
如果你想要一個Point
值與座標(0,0)
那麼你可以使用Shared
字段Point.Empty
。 如果你想要其他座標,那麼你將不得不自己創建一個Point
值。
If Button1.Location = New Point(100, 100) Then
Button1.Enabled = False
End If
或者,可以比較Top
和Left
性能,其中的每一個都是Integer
型,單獨。
這對我來說沒有意義,button1.location存儲1點,然後你將它與另一個點(New Point(100,100))進行比較,這應該永遠不會相等,都是不同的實例,你確定這有效嗎? – 2014-11-09 17:31:27
這很有道理!不要認爲「=」(布爾比較器)總是意味着「相同的對象」。 'System.Drawing.Point'有一個實現的'='運算符,用於比較'.X'和'.Y'值,如果匹配則返回'True'。要知道兩個點是否是同一個對象,必須在對象引用級使用'Is'比較器,或使用靜態函數'Object.ReferenceEquals(Obj1,Obj2)'。 – 2014-11-09 20:38:05
@ bto.rdz,'Point'是一個值類型。價值類型的平等本質上意味着價值的平等。你爲什麼問我它是否有效,而不是自己測試它? – jmcilhinney 2014-11-10 00:44:28
If Button1.Location.X = 0 And Button1.Location.Y = 0 Then
Button1.Visible = False
End If
這不提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 – 2014-11-09 13:56:13
@Odedra它的確如此。 – 2014-11-09 13:56:57
如果您沒有詳細說明您的答案,那麼您的答案如何工作將不會被視爲有用的答案。因此,當您添加代碼時,我向您建議,請解釋您的代碼,以便可能對其他用戶有用。謝謝。 – 2014-11-09 13:59:37
看來,你真正想知道的不是我閱讀的內容,而是我之前提供的答案。我不確定這是你的錯,其他人的錯在兩者的結合。無論哪種方式,現在我將回答如何將表格置於其包含窗口左上方的問題。
首先,從(0,0)創建新的Point
並不完全錯誤,但使用Point.Empty
更正確。
至於實際問題,在調用Show
之後設置StartPosition
是沒有用的,因爲StartPosition
表示表單開始的位置。如果它已經顯示,那麼它已經啓動,因此對StartPosition
的任何更改都不起作用。
您需要通過明確設置Location
來手動定位表單,這是基於它的大小和您定位窗口的大小之間的關係。你使用CenterParent
的事實表明,這不是屏幕,所以如果你想要一個特定的例子,你需要證明這一點。儘管如此,你不應該需要一個具體的例子,因爲它是小學中教授的簡單算術。
嗯,我比你想象的要年輕,而且我還沒有去過這門語言的學校,我一直在自學自我,你能否請你如果可以,給我舉個例子嗎? – Greg 2014-11-11 00:35:01
雖然,我有一個布爾值設置爲true,我想要做的是,如果它的真實它使窗體顯示在中心,但開始位置代碼不工作...'如果My.Settings.NewUser = True Then StartPosition = FormStartPosition.CenterScreen' – Greg 2014-11-11 00:38:02
首先您告訴我們您關心表單的「位置」,現在您告訴我們您關心設置的價值。如果你沒有繼續移動目標帖子,這將是很好的。事實上,你有表單設置自己的'StartPosition'表明你沒有真正閱讀我發佈在我的答案。這樣的代碼可以使用的唯一地方是在窗體的構造函數中。那是你放的地方嗎?如果不是,那麼它是無用的。通常情況下,您將在創建窗體的代碼中調用'Show'或'ShowDialog',而不是從表單外部設置'StartPosition'。 – jmcilhinney 2014-11-11 01:21:04
你的問題不夠清楚,你的按鈕移動了嗎? – 2014-11-09 04:09:06
這只是一個例子,我試圖做的是確定一個位置,如果該位置是真的,它會運行一個代碼。 – Greg 2014-11-09 04:11:34
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.locationchanged(v=vs.110).aspx – 2014-11-09 04:13:26