これまでの手順では、アプリケーションのユーザーインターフェイスを設定し、C1NumberBox、Label、Button の各コントロールをアプリケーションに追加しました。この手順では、アプリケーションにコードを追加して完成させます。
次の手順に従います。
Button1 をダブルクリックしてコードビューに切り替え、Button1_Click イベントハンドラを作成します。
次の imports 文をページの先頭に追加します。
Visual Basic コードのコピー Imports C1.WPF Imports System.Windows.Media Imports System.Diagnostics
C# コードのコピー using C1.WPF; using System.Windows.Media; using System.Diagnostics;
MainWindow or Page クラスのすぐ内側にある次のグローバル変数を初期化します。
Visual Basic コードのコピー Dim nb1 As Integer = 5 Dim nb2 As Integer = 2 Dim nb3 As Integer = 3 Dim nb4 As Integer = 7 Dim nb5 As Integer = 9
C# コードのコピー int nb1 = 5; int nb2 = 2; int nb3 = 3; int nb4 = 7; int nb5 = 9;これらの数字は、正しい「暗証番号」としてアプリケーションで使用されます。ユーザーが実行時に正しい番号の組み合わせを入力すると、ボタンが表示されます。
Button1_Click イベントハンドラにコードを追加します。次のようになります。
Visual Basic コードのコピー Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles btn1.Click HtmlPage.PopupWindow(New Uri("http://www.componentone.com"), "new", Nothing) End Sub
C# コードのコピー private void btn1_Click(object sender, RoutedEventArgs e) { HtmlPage.PopupWindow(New Uri("http://www.componentone.com"), "new", null); }
次に、以下のカスタム NBValidation イベントをコードに追加します。
Visual Basic コードのコピーPrivate Sub NBValidation() If Me.c1nb1.Value = nb1 And Me.c1nb2.Value = nb2 And Me.c1nb3.Value = nb3 And Me.c1nb4.Value = nb4 And Me.c1nb5.Value = nb5 Then Me.lbl2.Foreground = New SolidColorBrush(Colors.Green) Me.lbl2.Content = "Combination Valid" Me.c1nb1.IsReadOnly = True Me.c1nb2.IsReadOnly = True Me.c1nb3.IsReadOnly = True Me.c1nb4.IsReadOnly = True Me.c1nb5.IsReadOnly = True Me.btn1.Visibility = Windows.Visibility.Visible End If End Sub
C# コードのコピー private void NBValidation() { if (this.c1nb1.Value == nb1 & this.c1nb2.Value == nb2 & this.c1nb3.Value == nb3 & this.c1nb4.Value == nb4 & this.c1nb5.Value == nb5) { this.lbl2.Foreground = new SolidColorBrush(Colors.Green); this.lbl2.Content = "Combination Valid"; this.c1nb1.IsReadOnly = true; this.c1nb2.IsReadOnly = true; this.c1nb3.IsReadOnly = true; this.c1nb4.IsReadOnly = true; this.c1nb5.IsReadOnly = true; this.btn1.Visibility = Windows.Visibility.Visible; } }ユーザーが(上の手順 3で示した)正しい番号を入力すると、C1NumericBox コントロールは読み取り専用に設定されて編集できなくなります。コントロールの下にあるラベルのテキストは、正しいコードが入力されていることを示すように変更されます。また、ComponentOne Web サイトに移動するためのボタンが表示されます。
Visual Basic コードのコピー Private Sub c1nb1_ValueChanged(ByVal sender As System.Object, ByVal e As C1.Silverlight.PropertyChangedEventArgs(Of System.Double)) Handles c1nb1.ValueChanged NBValidation() End Sub Private Sub c1nb2_ValueChanged(ByVal sender As System.Object, ByVal e As C1.Silverlight.PropertyChangedEventArgs(Of System.Double)) Handles c1nb2.ValueChanged NBValidation() End Sub Private Sub c1nb3_ValueChanged(ByVal sender As System.Object, ByVal e As C1.Silverlight.PropertyChangedEventArgs(Of System.Double)) Handles c1nb3.ValueChanged NBValidation() End Sub Private Sub c1nb4_ValueChanged(ByVal sender As System.Object, ByVal e As C1.Silverlight.PropertyChangedEventArgs(Of System.Double)) Handles c1nb4.ValueChanged NBValidation() End Sub Private Sub c1nb5_ValueChanged(ByVal sender As System.Object, ByVal e As C1.Silverlight.PropertyChangedEventArgs(Of System.Double)) Handles c1nb5.ValueChanged NBValidation() End Sub
C# コードのコピー private void c1nb1_ValueChanged(object sender, PropertyChangedEventArgs<double> e) { NBValidation(); } private void c1nb2_ValueChanged(object sender, PropertyChangedEventArgs<double> e) { NBValidation(); } private void c1nb3_ValueChanged(object sender, PropertyChangedEventArgs<double> e) { NBValidation(); } private void c1nb4_ValueChanged(object sender, PropertyChangedEventArgs<double> e) { NBValidation(); } private void c1nb5_ValueChanged(object sender, PropertyChangedEventArgs<double> e) { NBValidation(); }
この手順では、アプリケーションにコードを追加しました。次の手順では、アプリケーションを実行し、実行時の操作を確認します。