私は2つのウィンドウ形式の1つのホームフォームをultragridで、あるデータを表示し、もう1つを_ddデータに変換したプロジェクトを使用しています。 データの追加フォームが閉じられているのに、私はultragridをリフレッシュしたいですが、現在はできません。共有サブルーチンと値の解析
私は私がデータをロードするので、それはそれを更新するかどうかを知っている家庭のフォーム上のサブルーチンを使用してShowDialog.OK
値を取得できるようにするために追加のデータ形式form_closing
サブルーチンにPublic Shared Sub
を作成する必要があります。しかし、それは共有サブですので、私はMe.Dispose
を使用できません。これをどうやって解決するのですか?
Private Sub fHome_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' This is where the UltraGrid gets it's data from
If fAdd.ShowDialog() = DialogResult.OK Then
uwgDisplay.DataSource = Nothing
displayData()
' addData form is open, then get the data from the database (dont refresh it)
Else
displayData()
' if add data form is closed, then refresh the data
End If
Me.Location = New Point(0, 0)
End Sub
この
は、インスタンスメソッド内でのみ有効ですフォーム閉鎖追加フォーム上のサブ私はミー
を聞いています両方のMe.Dispose()
ラインでPublic Shared Sub Form_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing If Globals.savedValue = False Then Dim closeBox As MsgBoxResult closeBox = MsgBox("Exit without saving?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Confirm") If closeBox = MsgBoxResult.Yes Then Me.Dispose() ElseIf closeBox = MsgBoxResult.No Then e.Cancel = True Exit Sub End If Else Me.Dispose() End If End Sub
ある
を取得するために共有する必要はありませんまだ追加されていませんが、それを 'Public Shared Sub'とすることで、あなたはそれをどうクローズするのか分からないのですか? – David
@Davidはい、それは正しいです –
@MattWilko 'fAdd.ShowDialog()= DialogResult.OK'を共有サブなしで使用しようとしたとき '非共有メンバーへの参照にはオブジェクト参照が必要です' –