質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

イベントハンドラ

マウスのクリックなどの特定の事象(イベント)が発生した時に実行される処理のことをイベントハンドラと呼びます。

Q&A

解決済

1回答

700閲覧

ValidatingイベントからLoadイベントに変更したいです。

yurika_21

総合スコア12

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

イベントハンドラ

マウスのクリックなどの特定の事象(イベント)が発生した時に実行される処理のことをイベントハンドラと呼びます。

0グッド

0クリップ

投稿2020/07/30 08:18

前提・実現したいこと

以下のイベントをロードの際に読み込んでほしいです。
現在はValidatingイベント発生させているのですがLoadイベントに変更したいです。

ButtonのTagから日にちを取得しています。

発生している問題・エラーメッセージ

loadイベントで起こしたいがイベントが発生しない。

該当のソースコード

VB

1 Private Sub f1_Validating(sender As Object, e As EventArgs) 2 listF1Day(New Date(currentDate.Year, currentDate.Month, 1).DayOfWeek + currentDate.Day - 1).Select() '今日の日付パネルを取得 3 Dim dayf = DirectCast(sender, Button) 4 Dim ClickDate As Date = dayf.Tag 5 Dim dread As SqlClient.SqlDataReader 6 Dim str As String = String.Empty 7 8 Try 9 Using conn As New SqlClient.SqlConnection(pubSqlConnectionString) 10 conn.Open() 11 Using cmd As New SqlClient.SqlCommand() 12 cmd.Connection = conn 13 cmd.CommandText = 14 "SELECT TGNSHIDUKE " & ControlChars.NewLine & 15 "FROM Gyomu_Body " & ControlChars.NewLine & 16 "WHERE TGNCRTTN = '" & CM0000.login_Pass & "'" & ControlChars.NewLine 17 dread = cmd.ExecuteReader() 18 19 Do While dread.Read() 20 Dim iIdx As Integer 21 Dim hiduke As String 22 iIdx = dread.GetOrdinal("TGNSHIDUKE") 23 hiduke = dread(iIdx) 24 25 If ClickDate.ToString("yyyy/MM/dd") = hiduke Then 26 dayf.BackColor = Color.Red 27 End If 28 29 Loop 30 31 End Using 32 End Using 33 Catch 34 35 End Try 36 End Sub

試したこと

Buttonの部分をobjectに変更し、load部分に張りましたが、何も起こりませんでした。

補足情報(FW/ツールのバージョンなど)

VisualStudio2017,SQLServer

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YAmaGNZ

2020/07/30 08:27

現在Validatingイベントで行っているとのことですが、「Loadイベントに変更」ということは現在行っているタイミングでは処理が行われないことになりますがよろしいのでしょうか? それとも、Validatingイベントで行っていることを、Loadイベントでも行いたいということでしょうか?
yurika_21

2020/07/30 08:30

現在のタイミングで行われなくても結構です!
guest

回答1

0

ベストアンサー

まずはValidatingイベントに書いてある処理を関数として書いてみてください。
この過程で引数として何が必要なのか洗いだす必要があります。
この処理に必要なデータは何なのか考えてみてください。

そして、関数化したら、Loadイベントにてその関数を呼び出します。

関数化して渡すものがしっかり理解できていれば、他のイベント時でも呼び出せたりしますので、頑張ってください。

投稿2020/07/30 12:33

YAmaGNZ

総合スコア10489

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yurika_21

2020/07/30 21:56

ありがとうございます! 無事解決することが出来ました! 本当に助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問