スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

F#入門 Windowsアプリケーション編 テキストボックス(2)

テキストボックスのイベントで一番よく使用されるのがTextChangedで、テキストが変更された時発火されます。
 
では一つ例をあげてみます。
まずは、ラベルと文字列を引数にして、文字列をラベルに設定する関数を定義します。
 
> let changeLabelText (target_label:Label) text =
    target_label.Text <- text;;
 
val changeLabelText : Label -> string -> unit
 
次にフォームを準備しておきます。
 
let mainForm = new Form(Width = 460, Height = 300, Text = "MyFirst Window")
mainForm.Show() |> ignore
 
ラベルを準備しておきます。
 
> let myTextBox0 = new TextBox(Location = new Point(30,50))
 
let myLabel0 = new Label(Font = new Font("MS UI Gothic",18.0f),
                         Location = new Point(30,100),
                         Text = "",
                         Width = 300,
                         Height =40 );;
 
val myTextBox0 : TextBox = System.Windows.Forms.TextBox, Text: 
val myLabel0 : Label = System.Windows.Forms.Label, Text: Test
 
イベントハンドラーを登録します。
(テキストボックスの文字が変化すると、その文字を準備したラベルに表示するという作用のハンドラーです。)
 
> let changeText0 = changeLabelText myLabel0
myTextBox0.TextChanged.AddHandler(fun sender _ ->
                                        changeText0 (sender :?> TextBox).Text);;
 
val changeText0 : (string -> unit)
 
フォームに加えます。
 
> mainForm.Controls.Add(myTextBox0)
mainForm.Controls.Add(myLabel0);;
 
この状態でテキストボックスに文字を打ち込むと、同時に下部のラベルに同じ文字列が表示されるようになります。
 
テキストボックス内の文字数も下部に表示されるようにしてみます。
 
> let myLabel1 = new Label(Font = new Font("MS UI Gothic",18.0f),
                         Location = new Point(30,150),
                         Text = "0",
                         Width = 300,
                         Height =40 )
 
let changeText1 = changeLabelText myLabel1
myTextBox0.TextChanged.AddHandler(fun sender _ ->
                                        changeText1 ((sender :?> TextBox).Text.Length.ToString())
                                  )
 
mainForm.Controls.Add(myLabel1);;
 
val myLabel1 : Label = System.Windows.Forms.Label, Text: 0
val changeText1 : (string -> unit)
 
できあがりは、下のようになります。

805-1.jpg

スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

T GYOUTEN

Author:T GYOUTEN
F#と英単語とフリーソフトと読書に興味があります。
ホームページでフリーソフトも公開しています。どぞ御贔屓に。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
フリーエリア
フリーエリア
blogram投票ボタン
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。