Visual Basic 初級講座
VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応

 

Visual Basic 中学校 > 初級講座 >

第26回 中間試験2

今回は今までの内容を元に試験を行います。自分の理解度、到達度を示すものさしとしてご活用ください。なお、問題の内容や回答にご意見や疑義がある場合は掲示板に書き込んでください。

概要

・問題は全部で20問あります。

・出題範囲は 初級講座第16回〜第24回です。

・最後に「採点」ボタンをクリックすると、あなたの総合評価が表示されます。

この記事の内容はVisual Basic.NET 2003で確認しています。

 

1.諸注意

 

今回は、全部で20問の問題に答えてください。

採点は1問答えるごとにすぐに表示されるので、答えるときは慎重に答えてください。

1度答えた後での回答の変更は禁止します。変更しようと思えば変更できますが、やらないでください。

出題範囲は初級講座第16回〜第24回です。

最後の「採点」ボタンをクリックすると、あなたの総合評価が表示されます。

この試験では、あなたの情報が外部に送信されることはありません。

なお、単純化するためにすべての設問は標準的な環境を前提に作成されています。特定の状況下では答えが異なる場合もありますし、厳密には日本語が不十分でもあります。

 

 

2.試験

 

問題1.

次のうち、ユーザーが自由に量を調節するのに最も適したコントロールはどれか。

TrackBar

ToolBar

StatusBar

 

問題2.

次のうち、画像を表示するのに最も適したコントロールはどれか。

ImageList

Panel

PictureBox

ListView

 

問題3.

次のプログラムの実行結果を正しく説明しているものはどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応 

If TextBox1.Visible = False Then
   
TextBox2.Focus()
Else
   
TextBox3.Focus()
End If

TextBox1に何も入力されていなければTextBox2にフォーカスを移動する。そうでなければTextBox3にフォーカスを移動する。

TextBox1が非表示状態であればTextBox2にフォーカスを移動する。そうでなければTextBox3にフォーカスを移動する。

TextBox1が使用不可状態であればTextBox2を表示する。そうでなければTextBox3を表示する。

TextBox1にフォーカスがあればTextBox2を使用可能状態にする。そうでなければTextBox3を使用可能状態にする。

 

問題4.

コントロールに自由に任意の値を保存したいときに使うプロパティとして最も適切なものは次のうちどれか。

Anchor

View

TabStop

Tag

 

問題5.

コントロールの順序に関する以下の説明の中でまちがっているものはどれか。

[表示] - [タブオーダー]メニューを使うとマウスを利用して視覚的にTabIndexプロパティの値を設定できる。

Zオーダーはプロパティで設定することはできない。

TabIndexプロパティの値はSelectNextControlメソッドの結果に影響する。

コントロールのフォーカスの移動順序はTabIndexプロパティだけで決まる。

 

問題6.

下の模式図のように左にツリービュー、右にリストビューとテキストボックスを上下に2つ配置した画面を作りたい。このとき、ユーザーがフォームのサイズを変更してもレイアウトが乱れないようにするため のプロパティの設定方法を最も適切に説明しているものは次のうちどれか。

TreeView1
ListView1
 

TextBox1
 

TreeView1DockプロパティをLeftListView1DockプロパティをTopTextBox1DockプロパティをBottomにする。

TreeView1DockプロパティをLeftListView1DockプロパティをTopTextBox1DockプロパティをFillにする。

TreeView1DockプロパティをFillListView1DockプロパティをTopTextBox1DockプロパティをBottomにする。

TreeView1DockプロパティをLeftListView1DockプロパティをFillTextBox1DockプロパティをBottomにする。

 

問題7.

次のプログラム はユーザーが[ESC]キーを押したときに、テキストボックスの内容をユーザーが編集前の内容に戻すことを意図したものである。このプログラムが意図どおりに動作しない原因として正しいものは次のうちどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応 

Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter

    'フォーカスを取得したときに現在のTextの内容をTagに記録しておく
   
TextBox1.Tag = TextBox1.Text

End Sub

Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp

    If e.KeyCode = Keys.Escape Then

        '[ESC]キーが押されたときにTagの内容をTextに移す
       
TextBox1.Text = TextBox1.Tag

    End If

End Sub

KeyPreviewプロパティがFalseの場合、キーイベントが発生しない。

e.KeyCode = Keys.Escapeではなく、e.KeyCode = Chr(Keys.Escape)と書くべきである。

Validatingイベントでフォーカスの移動がキャンセルされた場合、再度Enterイベントが発生してしまうので必ずしも「編集前の内容」に戻せるわけではない。

[ESC]キーではKeyPressイベントは発生するが、KeyUpイベントは発生しない。

 

問題8.

実行時にコントロールの配置を調節する方法として適切でないものは次のうちどれか。

Visibleプロパティを使う。

Anchorプロパティを使う。

Dockプロパティを使う。

Resizeイベントを使う。

 

問題9.

次のプログラムの中の( A )の部分を埋めて正しいプログラムとするとき、( A )に当てはまるものとして最も適切なものは次のうちどれか。

VB.NET2002対応 VB.NET2003対応 VB2005対応 

Dim oControl As Control

For Each oControl ( A ) Me.Controls

    oControl.Visible = False

Next

 

To

Step

In

Of

 

問題10.

次のプログラム はComboBox1ComboBox5を使用不可にすることを意図したものである。VB.NET2003でこのプログラムを実行したときの結果を正しく説明しているものは次のうちどれか。

Dim i As Integer
Dim ControlName As String

For i = 1 To 5
    ControlName = "ComboBox" & i
    Me.Controls(ControlName).Enabled =
False
Next

ComboBox1ComboBox5EnabledプロパティがFalseになる。

実行時エラーになる。

ビルドエラーになる。

 

問題11.

次のうち、マウスの右クリックに反応するために最も適切なイベントはどれか。

Click

MouseClick

MouseUp

MouseHover

 

問題12.

次のうち、Clickイベントが発生しない動作はどれか。

CheckBoxにフォーカスがあるときにスペースキーを押す。

Buttonにフォーカスがあるときにスペースキーを押す。

Buttonにフォーカスがあるときに[ENTER]キーを押す。

ListBoxにフォーカスがあるときに[↓]キーを押して次の項目を選択する。

 

問題13.

どのコントロールにフォーカスがあるときでもF1キーを押すとヘルプが表示されるようにしたい。この動作をプログラムするフォームのイベントとして最も適した方法は次のうちどれか。

HelpProviderは使用しないものとする。

KeyPressイベント。ただし、フォームのKeyPreviewプロパティをTrueにしておく。

KeyPressイベント。ただし、フォームのKeyPreviewプロパティをFalseにしておく。

KeyUpイベント。ただし、フォームのKeyPreviewプロパティをTrueにしておく。

KeyUpイベント。ただし、フォームのKeyPreviewプロパティをFalseにしておく。

 

問題14.

TextBox1からButton1にフォーカスを移動するとき発生するイベントの順番として正しいものは次のうちどれか。

TextBox1.Leave → Button1.Validating → Button1.Validated → Button1.Enter

TextBox1.Leave → TextBox1.Validating → TextBox1.Validated → Button1.Enter

TextBox1.Leave → TextBox1.Validating → Button1.Enter → TextBox1.Validated

TextBox1.Leave → TextBox1.Validating → Button1.Validated → Button1.Enter

 

問題15.

テキストボックスに入力された内容が適切かどうかチェックするときに使うイベントとして最も適切なものは次のうちどれか。

Leave

LostFocus

Validating

Validated

 

問題16.

あるプログラムで実験したところ、TextBox1からButton1にフォーカスを移動するときにValidatingイベントが発生しなかった。この原因として考えられるものは次のうちどれか。

TextBox1Validatingイベントで e.Cancel = True となるような記述をしていない。

Button1CausesValidationプロパティがFalseになっている。

マウスを使ってフォーカスを移動した。

Focusメソッドを使ってフォーカスを移動した。

 

問題17.

標準でないコントロールに関して説明している以下の文章のうち、誤っているものはどれか。

コントロールはVBを使って自分で作ることができる。

他人が作ったコントロールを自分のプログラムに取り込んで使用することができる。

Standard EditionのVBでは標準でないコントロールを使用できない。

VBなどの.NET言語で作られていないコントロールでもCOMコンポーネントならばVBで使用することができる。

 

問題18.

次のうち、コンテナ(内部に他のコントロールを配置できるコントロール)でないコントロールはどれか。

TabControl

GroupBox

Panel

PictureBox

 

問題19.

Controlsプロパティに関する以下の説明のうち誤っているものはどれか。

Controlsプロパティを使って親コントロールにアクセスできる。

Contorlsプロパティを使ってすべての子コントロールにアクセスできる。

Contorlsプロパティでは孫コントロールにはアクセスできない。

Controlsプロパティは番号を使ってコントロールを指定することができる。

 

問題20.

以下の画像のコントロールは何か。

ListBox

ListView

CheckedListBox

CheckBox

 

すべての問題に解答したら、下の「採点」ボタンをクリックしてください。