共用方式為


Windows XP 功能和 Windows Form 控制項

更新:2007 年 11 月

當您建立 Windows Form 時,可以利用 Microsoft® Windows® XP 中的新功能:

  • 使用者介面 (UI) 中的新外觀和新行為 (外觀及操作)

  • ListView 控制項的新檢視

  • 快速切換使用者

Windows XP 中的使用者介面變更

Windows XP 的發行為 Windows 使用者介面帶來了新的外觀與行為。由 Visual Studio .NET 中所包含的相同功能控制項所組成,Windows XP UI 有了嶄新的外觀。這裡有兩個 Windows XP 增強功能的例子,一是在滑鼠經過時其圓形邊角會發亮的控制項,另一個則是色彩豐富的 ProgressBar 控制項。

啟用「視覺化樣式」時,範例表單和控制項在 Windows XP 上看起來的樣子

WinXPConAfter 螢幕擷取畫面

注意事項:

這個主題所描述的功能,只適用在 Windows XP 作業系統上執行的應用程式。在其他平台上執行時,控制項會保有傳統的 UI 外觀,任何和視覺化樣式有關的程式碼都不會有作用。

相較之下,即使是相同的控制項,可供 Visual Studio 程式開發人員使用的控制項也不會共用這個外觀。

使用 Visual Studio 建立範例表單和控制項時的預設外觀

WinXPConBefore 螢幕擷取畫面

您可以將表單想成具有兩個不同的部分:工作區和非工作區。在 Windows XP 作業系統上執行的所有應用程式都具有非工作區,這包括了視窗框架、標題列和非工作區捲軸。根據預設,作業系統會將視覺化樣式套用至非工作區,如此一來,當 Windows Form 在 Windows XP 上執行時,您就會看到更新的標題列與捲軸。本說明主題將說明如何變更工作區。

視覺化樣式

視覺化樣式是指應用程式或作業系統中,使用者可以修改的使用者介面外觀。如先前所述,在 Windows XP 上執行時,表單的捲軸和標題列會立即變更;如果應用程式呼叫 EnableVisualStyles 方法,在 Windows XP 上執行時,大部分的 Windows Form 控制項都會自動採用視覺化樣式。如需詳細資訊,請參閱 HOW TO:啟用 Windows XP 視覺化樣式

有一些 Windows Form 控制項在所有作業系統上看起來都一樣;實作 EnableVisualStyles 對於這些控制項沒有任何影響。其中包括 LabelLinkLabelDomainUpDownNumericUpDownCheckedListBox 控制項。

Windows XP ListView 樣式

除了 UI 的新外觀之外,Windows XP 還引用了用於 ListView 控制項的兩個新樣式,在 Windows 檔案總管右邊的窗格中就可以看出不同。

  • 群組顯示

  • 並排顯示

在 Windows XP 中,ListView 控制項的群組功能可以讓您用視覺化方式,將邏輯上相關的項目排列在一起。在畫面上,這些群組是以含有標題的水平群組標頭加以區隔。

在 Windows XP 以前的平台上,並不會顯示出這些群組,所有項目的顯示方式都和以前一樣。如需詳細資訊,請參閱 HOW TO:在 Windows Form ListView 控制項中群組項目

插入標記向使用者顯示拖曳的項目會放置的地點。當 ListView 控制項的 AutoArrange 屬性是設定為 false 時,插入標記會顯示出來。當使用者拖曳項目至其他兩個項目之間時,插入標記會顯示預期的項目新位置。

在 Windows XP 以前的平台上,插入標記並不會顯示出來,而對插入標記屬性和方法的呼叫也不會有任何作用。如需詳細資訊,請參閱 HOW TO:在 Windows Form ListView 控制項中顯示插入標記

ListView 控制項的並排顯示功能,讓您在圖形和文字資訊之間取得視覺上的平衡。以並排顯示所顯示的項目文字資訊,和詳細檢視定義的資料行資訊相同。並排顯示和 ListView 控制項的群組或插入標記功能一起運作。並排顯示是使用 32 x 32 的圖示以及數行文字。

並排顯示屬性和方法讓您指定每個項目要顯示的資料行欄位,並集體控制並排顯示視窗中所有項目的大小和外觀。為了清楚起見,並排顯示中的第一行文字永遠是項目名稱。

在 Windows XP 以前的平台上,ListView 會出現在 LargeIcon 檢視中。如需詳細資訊,請參閱 HOW TO:在 Windows Form ListView 控制項中啟用並排顯示

Windows XP 的快速切換使用者功能

Windows XP 引用了快速切換使用者功能,這個功能可讓多個使用者共用一部電腦,並且不需關閉使用者正在執行的程式,就可以直接切換使用者工作階段。.NET Framework 提供了 SessionSwitch 事件,它會在目前的使用者變更時發生。

注意事項:

SessionSwitch 事件只適用於 Windows XP,在其他平台上執行時,會忽略 SessionSwitch 事件處理常式中的程式碼。

下列程式碼示範了在 SessionSwitch 事件中將資料寫入記錄檔:

Private Sub SessionSwitch(ByVal sender As System.Object, ByVal e As _
Microsoft.Win32.SessionSwitchEventArgs)
    If e.Reason = SessionSwitchReason.SessionLogon Then
        My.Computer.EventLogs.Application.WriteEntry( _
My.User.Username.ToString & " logged on at " & _
My.Computer.Clock.LocalTime.Now.ToString)
    ElseIf e.Reason = SessionSwitchReason.SessionLogoff Then
        My.Computer.EventLogs.Application.WriteEntry( _
My.User.Username.ToString & " logged off at " & _
My.Computer.Clock.LocalTime.Now.ToString)
    End If
End Sub
private void sessionSwitch(System.Object sender, _
Microsoft.Win32.SessionSwitchEventArgs e)
{
    if (e.Reason == SessionSwitchReason.SessionLogon)
        EventLog.WriteEntry("sessionSwitch", _
SystemInformation.UserName.ToString() + " logged on at " + _
DateTime.Now.TimeOfDay.ToString());
    else if (e.Reason == SessionSwitchReason.SessionLogoff)
        EventLog.WriteEntry("sessionSwitch", _
SystemInformation.UserName.ToString() + " logged off at " + _
DateTime.Now.TimeOfDay.ToString());
}

請參閱

工作

HOW TO:在 Windows Form ListView 控制項中群組項目

HOW TO:在 Windows Form ListView 控制項中啟用並排顯示

HOW TO:在 Windows Form ListView 控制項中顯示插入標記

參考

FlatStyle

SessionSwitch