• ベストアンサー

DateTimePickerをIf文で

Visual basic 2010を使用しています。 「 Datetimrpickerの選択が今日ならComboBox1の選択をTextbox1へ表示」 というプログラムを書きたいのですが、datetimepickerの扱い方がわからず、うまくいきません。 たとえばComboBoxなら、「ComboBox.items.item(0)」で一番上、 つまり今日の日付を取得できるのですが、「datetimepicker.items.item(0)」だとdatetimepicker のメンバーではないというエラーが出て実行できません。 以上、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

Dim d As DateTime = Date.Parse(DateTimePicker1.Value.ToString("yyyy/MM/dd")) If d = Date.Today Then TextBox1.Text = ComboBox1.Text こんな感じとか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

VBは使いませんが…… >つまり今日の日付を取得できるのですが、「datetimepicker.items.item(0)」だとdatetimepicker のメンバーではないというエラーが出て ヘルプ(リファレンス)くらい見ましょうよ。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.datetimepicker%28v=vs.100%29.aspx Valueプロパティで選択している日時がDateTime型で取得できるのようですが。 >選択が今日なら DateTime.Todayプロパティで「今日」の日付は取得できますから、それで比較すればよいでしょう。 # DateTimePicker.Valueプロパティで取得したデータに時間の情報が入っていたら単純比較ってわけには行かないかも知れませんが。 # DateTimePickerで扱うデータの書式なり指定できたと思いますので、日付だけで時刻のデータは扱わないようにマスクすればよいかと。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • If,Forを使ってカレンダー・スケジュールを作成

    visual basic 2010を使用しています。 「コンボボックス1でAが選択されている場合、コンボボックス2のアイテムをテキストボックス1へ、コンボボックス1がBの場合はテキストボックス2へ……」 というコードを書きました。 If CombBox1.Text = "A" Then TextBox.Text = ComboBox2.Text ElseIf ComboBox.Text = "B" Then TextBox2.Text = ........................... ............................. これに追加して日付の概念を入れるにはどうすればいいでしょうか。 「日付が今日で、なおかつコンボボックス1でAが選択されている場合、コンボボックス2のアイテムをテキストボックス1(今日のAのテキストボックス)へ」 ということです。 「日付が1日後だった場合~」 「日付が2日後だった場合~」 と、1週間後まで繰り返したいです。 ・DateTimePicker ・Dim a As Integer = DateAndTime.day(Now) この二つはフォーム、コードに設置しています。 これらとif,for、もしくはその他の関数を使って効率の良いプログラムの書き方を教えて頂けないでしょうか。 分かりやすいように、手書きで申し訳ないですが、画像も載せておきます。 以上、宜しくお願い致します。

  • C#で日付をdateTimePickerに読み込みたいのですが...

    C#を使ってスケジュール帳のプログラミングをしています。 monthCalendarで選択した日付をtextboxに表示させ、スケジュールを登録します。 そして、ListBoxに予定を表示させています。 その予定を編集するためにもうひとつフォームを用意しました。 編集のフォームを開いたときに、登録してあった日付をdateTimePickerにあらかじめ表示させたいと思っています。しかし、それがなかなかできずに困っています。 どなたか参考になることでも良いので教えてくれませんか?? お願いします。

  • C#。 csvファイルについて。 保存時に重複のものをみつける。

    C#を用いて、プログラムを作成しています。 フォームにはdateTimePicker、domainUpDown、textBox、comboBox、 buttonなどを貼り付けています。 そして、textBoxなどに文字などを記入し、buttonを押すと、csvファイルを作成しています。 その際、まったく同じように記入し、buttonを押すと同を何度もcsvファイルに記入してしまいます。 重複した場合には、エラーメッセージを表示し、重複を防ぎたいのですが... なかなかそれがうまくいかず、つまずき、悩んでいます。 どなたか、わかりやすく教えてはいただけませんか?? お願いします。

  • テキストボックスの表示について

    visual basic2010を使用しています。 コンボボックスAの選択が1~4だった時、コンボボックスB、C、Dの選択された結果を、ボタンクリックを経てテキストボックスに表示させるにはどうすればいいでしょうか? If ComboBox1.Text = "1" Then TextBox1.Text = (ComboBox2.Text) TextBox1.Text = (ComboBox3.Text) TextBox1.Text = (ComboBox4.Text) ElseIf ComboBox1.Text = "2" Then TextBox2.Text = (ComboBox2.Text) TextBox2.Text = (ComboBox3.Text) TextBox2.Text = (ComboBox4.Text) ElseIf ComboBox1.Text = "3" Then TextBox3.Text = (ComboBox2.Text) TextBox3.Text = (ComboBox3.Text) TextBox3.Text = (ComboBox4.Text) Else TextBox4.Text = (ComboBox2.Text) TextBox4.Text = (ComboBox3.Text) TextBox4.Text = (ComboBox4.Text) End If 実行した結果、ComboBox4のみの結果がテキストボックスに表示されてしまいました。 '変数を使った場合 If ComboBox2.Text = "1" Then Dim st As String st = (ComboBox3.Text),(ComboBox4.Text),(ComboBox5.Text) textbox1.Text = st ElseIf ~~~~~~~~~~^ こちらは「ステートメントの終わりを指定してください」と出て動作しませんでした。 以上、宜しくお願い致します。

  • Excel VBA(Win2000、Office2000)

    現在、VBAでExcelのシートに書き込むフォームを作っており、日付に関することで困っています。 フォーム上には複数のComboBox、TextBoxが並んでおり、OKボタンをクリックすることで、フォーム上に並んだ、ComboBox、TextBoxの値をセルに書き込むようにしています。 問題の日付に関する質問についてですが・・・ ユーザーフォーム上に 年を入力するComboBox1 → 2004 月を入力するComboBox2 → 5 日を入力するComboBox3 → 7 *いづれも、プルダウンから数字を選択して入力するようにしています。 この3つの入力値を合わせて、2004/05/07と認識させて、TextBox1に"金"と表示させたいのですが、どのようにしたら良いでしょうか? TextBox1表示されるタイミングは、日を入力するComboBox3が入力された時としたいです。 宜しくお願い致します。

  • Visual Basicで困っています

    Visual Basic 2010でテキストボックスとコンボボックスを複数設置し コンボボックスの選択の組み合わせによって消すテキストボックスを決めたいと思っています。 初心者で下記のようなコードしか思いつかないのですが、これを簡略化できませんか? 例) コンボボックス1で一番目の項目を選択して、コンボボックス2で一番目の項目を選択した場合は テキストボックス1のテキストを消す コンボボックス1で一番上の項目を選択して、コンボボックス2で二番目の項目を選択した場合は テキストボックス2のテキストを消す みたいな感じです。 コード If ComboBox1.SelectedIndex = 0 And ComboBox2.SelectedIndex = 1 Then TextBox1.Clear() ElseIf ComboBox1.SelectedIndex = 0 And ComboBox2.SelectedIndex = 2 Then TextBox2.Clear() ElseIf ComboBox1.SelectedIndex = 0 And ComboBox2.SelectedIndex = 3 Then TextBox3.Clear()     ElseIf ComboBox1.SelectedIndex = 0 And ComboBox2.SelectedIndex = 4 Then TextBox4.Clear() End If わかりづらい文章で申し訳ないですが、わかる方、回答をお願いします。

  • Excel VBAで年齢を求める(Win2000、Office2000)

    現在、VBAでExcelのシートに書き込むフォームを作っており、日付に関することで困っています。 フォーム上には複数のComboBox、TextBoxが並んでおり、OKボタンをクリックすることで、フォーム上に並んだ、ComboBox、TextBoxの値をセルに書き込むようにしています。 ユーザーフォーム上に 年を入力するComboBox1 → 1972 月を入力するComboBox2 → 1 日を入力するComboBox3 → 1 *いづれも、プルダウンから数字を選択して入力するようにしています。 この3つの入力値を合わせて、1972/01/01と認識させて、TextBox1に"32"才と表示させたいのですが・・・現在、3つのComboBoxから日付を変数にセットするところまで出来ています。 ↓ Private Sub ComboBox3_Change() Dim B As Date B = Me.ComboBox1.Value & "/" & Me.ComboBox2.Value & "/" & Me.ComboBox3.Value 問題は、このあと誕生日を求める方法がわからず困っています。 *TextBox1に表示されるタイミングは、日を入力するComboBox3が入力された時としたいです。 宜しくお願い致します。

  • ウェブサイトのコンボボックスのアイテムを取得したいVB.NET

    ブラウザに表示されているコンボボックスのアイテムの文字列を取得したいです。 出来ればそのコンボボックスに登録されているものを 全部取得したいのですが、1つだけでも構いません。 a = AxWebBrowser1.Document.forms(0).Elements("ComboBox1").text 上記のような方法で取得しようとしているのですが、 .text の場合はHTMLSelectElementClassのメンバではないというエラーが出てしまいます。 Valueですと選択しているインデックス番号が取得できるのですが、 そうではなくて実際に表示される文字列を取得したいです。 あとこれを取得することが出来た場合、 For Nextで0~10などで AxWebBrowser1.Document.forms(0).Elements("ComboBox1").Value = i で選択を変更しては、取得するということを繰り返して 登録されているアイテム全てを取得しようと思っているのですが、 一度に全部取得する方法がありましたら教えて頂きたいです。 よろしくお願いいたします。

  • DateTimePicerでドロップダウンから変更したときFocusメソッドが機能しない

    ドロップダウンからカレンダーを表示させて日付を変更したときにFocusメソッドが機能しません。 ドロップダウンではなくキーボードから変更するとFocusメソッドが機能します。 Private Sub DateTimePicker_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker.ValueChanged Textbox1.Focus() End Sub 単純にこれだけなのですが、カレンダーから日付を選ぶとTextBox1にフォーカスが移りません。 いろいろためしたところ、 Private Sub DateTimePicker_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker.ValueChanged Textbox1.Focus() msgbox("移動") End Sub などと、メッセージボックスを表示するとカレンダーから日付を選択してもフォーカスが移動します。これは、言語の仕様なのでしょうか。

  • 実行時追加したコントロールの識別

    VB2008を使用しています。 プログラム実行中に追加したコントロールをどのように識別すればいいのかがわからなくて困っています。 例えば以下のようにすると、 itemsが1と2のコンボボックスが10個できますが、 すべてNewComboBoxという名前のコントロールのため、 最終的にそれぞれ1か2どちらを選択したかを知りたいときに、 10個のコントロールをどのように識別すればよいかわかりません。 Dim NewComboBox As ComboBox = New ComboBox() For i = 1 To 10 NewComboBox = New ComboBox() NewComboBox.Items.Add(1) NewComboBox.Items.Add(2) NewComboBox.Location = New Point(5, 5 + (24 * (i - 1))) Me.Controls.Add(NewComboBox) Next 説明が不明瞭であるかもしれませんが、 お分かりの方いらっしゃいましたら、ご回答願います。