このクイックスタートは、NumericBox for WPF を初めて使用するユーザーのために用意されています。このクイックスタートでは、C1NumericBoxコントロールをアプリケーションに追加し、コントロールの外観と動作をカスタマイズします。
この手順では、最初に Visual Studio で NumericBox for WPF を使用するアプリケーションを作成します。C1NumericBox コントロールをアプリケーションに追加するだけで、完全な機能を備えた数値エディタとして使用できます。さらに、そのコントロールをアプリケーションに合わせてカスタマイズできます。
次の手順に従います。
- Width = 40
- Minimum = 0
- Maximum = 9
Width プロパティは、コントロールのサイズを変更します。Minimum プロパティと Maximum プロパティは、コントロールに入力できる最小値と最大値を設定します。データ検証機能が組み込まれているため、ユーザーはこの範囲外の値を入力できなくなります。
アプリケーションは次のように表示されます。
これで、WPF アプリケーションを作成し、アプリケーションに C1NumericBox コントロールを追加し、これらのコントロールをカスタマイズできました。次の手順では、アプリケーションの設定を完成させます。
前の手順では、新しい WPF プロジェクトを作成し、アプリケーションに5つの C1NumericBox コントロールを追加しました。この手順では、引き続き、コントロールを追加してアプリケーションをカスタマイズします。
次の手順に従います。
Visual Studio のツールボックスに移動し、標準の Label コントロールを2回ダブルクリックして、Label1 と Label2 をプロジェクトに追加します。
Visual Studio のツールボックスで、標準の Button コントロールをダブルクリックして Button1 をプロジェクトに追加します。
Label1 を1回クリックして選択し、[プロパティ]ウィンドウでその Content プロパティを「組み合わせを入力してください。」に設定します。
Label2 を1回クリックして選択し、[プロパティ]ウィンドウでその Content プロパティを「不正な組み合わせ!」に設定し、Foreground プロパティを Red に設定します。
Button1 を1回クリックして選択し、[プロパティ]ウィンドウでその Content プロパティを「継続」に設定し、Visibility プロパティを Hidden に設定します。
アプリケーションは次のように表示されます。
これで、アプリケーションのユーザーインターフェイスを設定できました。次の手順では、コードをアプリケーションに追加します。
これまでの手順では、アプリケーションのユーザーインターフェイスを設定し、C1NumberBox、Label、Button の各コントロールをアプリケーションに追加しました。この手順では、アプリケーションにコードを追加して完成させます。
次の手順に従います。
Visual Basic コードのコピー Imports C1.WPF.Input Imports System.Windows.Media Imports System.Diagnostics
C# コードのコピー using C1.WPF.Input; using System.Windows.Media; using System.Diagnostics;
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;これらの数字は、正しい「暗証番号」としてアプリケーションで使用されます。ユーザーが実行時に正しい番号の組み合わせを入力すると、ボタンが表示されます。
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.grapecity.com"), "new", Nothing) End Sub
C# コードのコピー private void btn1_Click(object sender, RoutedEventArgs e) { HtmlPage.PopupWindow(New Uri("http://www.grapecity.com"), "new", null); }
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.WPF.PropertyChangedEventArgs(Of System.Double)) Handles c1nb1.ValueChanged NBValidation() End Sub Private Sub c1nb2_ValueChanged(ByVal sender As System.Object, ByVal e As C1.WPF.PropertyChangedEventArgs(Of System.Double)) Handles c1nb2.ValueChanged NBValidation() End Sub Private Sub c1nb3_ValueChanged(ByVal sender As System.Object, ByVal e As C1.WPF.PropertyChangedEventArgs(Of System.Double)) Handles c1nb3.ValueChanged NBValidation() End Sub Private Sub c1nb4_ValueChanged(ByVal sender As System.Object, ByVal e As C1.WPF.PropertyChangedEventArgs(Of System.Double)) Handles c1nb4.ValueChanged NBValidation() End Sub Private Sub c1nb5_ValueChanged(ByVal sender As System.Object, ByVal e As C1.WPF.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(); }
この手順では、アプリケーションにコードを追加しました。次の手順では、アプリケーションを実行し、実行時の操作を確認します。
これまでに WPF アプリケーションを作成し、外観と動作をカスタマイズしたので、次にアプリケーションを実行します。アプリケーションを実行し、NumericBox for WPF の実行時の動作を確認するには、次の手順に従います。
[デバッグ]メニューから[デバッグ開始]を選択し、実行時にアプリケーションがどのように表示されるかを確認します。
アプリケーションは次の図のように表示されます。
最初(左端)の C1NumericBox コントロールに5が表示されるまで、このコントロールのアップボタンをクリックします。クリックするたびに数字が1だけインクリメントされます。これは、Increment プロパティがデフォルトで1に設定されているためです。
2番目の C1NumericBox の内部をクリックすると、「0」値が強調表示されます。「2」を入力して数字を書き換えます。
3番目の C1NumericBox コントロールでダウンボタンをクリックしてみると、数字が変わらないことがわかります。これは、Minimum プロパティが0に設定されているためです。コントロールは0未満の値を受け付けません。3が表示されるまでアップボタンをクリックします。
最後の C1NumericBox コントロールの内部をクリックします。4番目の C1NumericBox の 50 が9にリセットされることがわかります。これは、Maximum プロパティが9に設定されており、コントロールが9より大きい値を受け付けないためです。
最後の C1NumericBox コントロールに9を入力します。
4番目の C1NumericBox コントロールのダウンボタンを2回クリックすると、7が表示されます。2番目の Label のテキストが変化し、ボタンが表示されます。
C1NumericBox コントロールへの入力を試みたり、アップボタンやダウンボタンをクリックしても、入力は受け付けられません。これは、すべて正しい暗証番号を入力したときに IsReadOnly プロパティが True に設定され、コントロールの編集がロックされたためです。
おめでとうございます!
これで、NumericBox for WPF クイックスタートは完了です。NumericBox for WPF アプリケーションを作成し、コントロールの外観と動作をカスタマイズし、アプリケーションの実行時機能をいくつか確認することができました。