Top Index
| 01 | Public Class EditForm1 | |
| 02 | ||
| 03 | Private _Article As Article | |
| 04 | Public Property Article() As Article | |
| 05 | Get | |
| 06 | Return _Article | |
| 07 | End Get | |
| 08 | Set(ByVal value As Article) | |
| 09 | _Article = value | |
| 10 | End Set | |
| 11 | End Property | |
| 12 | ||
| 13 | Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load | |
| 14 | Me.Article = New Article With {.Name = "TEST"} | |
| 15 | Me.TextBox1.DataBindings.Add("Text", Me.Article, "Name", True, DataSourceUpdateMode.OnValidation, "") | |
| 16 | End Sub | |
| 17 | ||
| 18 | Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click | |
| 19 | 'ソース元を更新しても、反映はされない | |
| 20 | Me.Article.Name = "ABC" | |
| 21 | MessageBox.Show(Me.Article.Name = Me.TextBox1.Text) 'False | |
| 22 | ||
| 23 | '反映するには ReadValue メソッドを手動でコールすること | |
| 24 | Me.TextBox1.DataBindings("Text").ReadValue() | |
| 25 | MessageBox.Show(Me.Article.Name = Me.TextBox1.Text) 'True | |
| 26 | End Sub | |
| 27 | ||
| 28 | ||
| 29 | Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click | |
| 30 | 'コントロールを直接編集しても、反映されない | |
| 31 | Me.TextBox1.Text = "123" | |
| 32 | MessageBox.Show(Me.Article.Name = Me.TextBox1.Text) 'False | |
| 33 | ||
| 34 | '反映するには WriteValue メソッドを手動でコールすること | |
| 35 | Me.TextBox1.DataBindings("Text").WriteValue() | |
| 36 | MessageBox.Show(Me.Article.Name = Me.TextBox1.Text) 'True | |
| 37 | End Sub | |
| 38 | End Class |
| 01 | Public Class EditForm1 | |
| 02 | ||
| 03 | Private _Article As Article | |
| 04 | Public Property Article() As Article | |
| 05 | Get | |
| 06 | Return _Article | |
| 07 | End Get | |
| 08 | Set(ByVal value As Article) | |
| 09 | _Article = value | |
| 10 | End Set | |
| 11 | End Property | |
| 12 | ||
| 13 | Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load | |
| 14 | Me.Article = New Article With {.Name = "TEST"} | |
| 15 | Me.TextBox1.DataBindings.Add("Text", Me.Article, "Name", True, DataSourceUpdateMode.OnPropertyChanged, "") | |
| 16 | End Sub | |
| 17 | ||
| 18 | Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click | |
| 19 | 'ソース元を更新しても、反映はされない | |
| 20 | Me.Article.Name = "ABC" | |
| 21 | MessageBox.Show(Me.Article.Name = Me.TextBox1.Text) 'False | |
| 22 | ||
| 23 | '反映するには ReadValue メソッドを手動でコールすること | |
| 24 | Me.TextBox1.DataBindings("Text").ReadValue() | |
| 25 | MessageBox.Show(Me.Article.Name = Me.TextBox1.Text) 'True | |
| 26 | End Sub | |
| 27 | ||
| 28 | Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click | |
| 29 | '更新方法が「OnPropertyChanged」なら、WriteValueを書かなくても同期がとれます。 | |
| 30 | Me.TextBox1.Text = "123" | |
| 31 | MessageBox.Show(Me.Article.Name = Me.TextBox1.Text) 'True | |
| 32 | End Sub | |
| 33 | End Class |