0

私は使用方法を見つけようとしていますDayOfWeek.Mondayが、フォームで選択することによってです。

したがって、ユーザーがドロップダウン コンボ ボックスから火曜日を選択すると、プログラム的には になりますDayOfWeek.Tuesday

これは現在のコードです:

Do Until dtpEndMonth.DayOfWeek = DayOfWeek.Friday

私は次のようなことを言いたいです:

Do Until dtpEndMonth.DayOfWeek = DayOfweek.Me.Controls("ComboBox1").Value

何か案は?

4

2 に答える 2

1

この静的なアプローチが実行可能な場合は、文字列を DayOfWeek-Enum に直接解析できます。

Dim dayOfWeekValue = ComboBox1.SelectedValue
Dim dayOfWeek = DirectCast(System.Enum.Parse(GetType(DayOfWeek), dayOfWeekValue), DayOfWeek)
于 2011-07-26T12:01:29.647 に答える
0

これを行う 1 つの方法は、次のようにすることです。

' On Form_Load()
Dim daysOfWeek = {New KeyValuePair(Of DayOfWeek, String)(DayOfWeek.Sunday, "Sunday"),
                  New KeyValuePair(Of DayOfWeek, String)(DayOfWeek.Monday, "Monday"),
                  ...,
                  New KeyValuePair(Of DayOfWeek, String)(DayOfWeek.Saturday, "Satruday")}

Me.ComboBox1.DataSource = daysOfWeek
Me.ComboBox1.ValueMember = "Key"
Me.ComboBox1.DisplayMember = "Value"
...

次に、選択した値を取得する場合:

Dim selectedDayOfWeek = CType(Me.ComboBox1.SelectedValue, DayOfWeek)

このアプローチは、ComboBox(プロパティを介して) Display メンバーと Value Member の両方を持つ機能を活用するDataSourceため、ユーザーがわかりやすい表示値を選択すると、実際には、隠れた「データ値」が選択されます。あなたのコードが扱うもの。

注: このコードはテストしていないため、タイプミスがある可能性があります。説明や修正が必要な場合は、お知らせください。

于 2011-07-30T14:54:55.887 に答える