改行コード変換ツールを自作しよう(第1回・概要~レイアウト作成編)

プログラミング入門
この記事は約6分で読めます。

今回は改行コード変換ツールを開発してみましょう。

仕組みは単純で、改行コードをReplaceメソッドで置き換えるだけなのですが、それだけでは面白くないので、画面を左右に分割する設定方法と、ファイルのドラッグ&ドロップに対応したいと思います。

概要を把握しよう

今回作る改行コード変換ツールの画面レイアウトは次の様になります。

左に変換対象のテキストを張り付けて「変換実行」ボタンをクリックすると、指定された改行コードで置き換えるというものです。

仕様を整理しよう

改行コード変換ツールの仕様は以下の通りです。

  • テキストボックスを左右に配置し、左右の幅の比率をマウスで変更できる
  • 左のテキストボックスに変換したいテキストを張り付け、変換した結果が右のテキストボックスに表示される
  • 任意のテキストファイルをドラッグ&ドロップで左のテキストボックスに張り付けられる
  • 改行コードは CR,LF,CRLFの3種類に対応する
  • 右のテキストボックスに表示された変換結果はクリップボードにコピーできる

フローで処理イメージをつかもう

それでは、フローチャートで処理手順を理解しておきましょう。

と言っても、今回は非常に簡単です。

画面から変換したい文字コードと変換後の文字コードを取得し、TextBoxコントロールのTextプロパティに対して、Replace メソッドを実行するだけです。

使うコントロールを決めよう

今回は、Label、Button、ComboBox、TextBox、SplitContainer の5種類のコントロールを使います。

SplitContainer とは、画面を左右、または上下に分割するためのコントロールです。

SplitContainerの上に様々なコントロールを乗せることが出来るので、コンテナとも呼ばれています。

SplitContainerはツールボックスからドラッグ&ドロップで画面に張り付けることが出来ますが、張り付け方が少し特殊なので、詳細は こちら にてご確認下さい。

プロジェクトを作ろう

今回は LineFeedChanger という名前でプロジェクトを作ります。

Visual Studio を立ち上げて、プロジェクト名にLineFeedChangerと入力し、右下の「作成」ボタンをクリックしたら完成です。

プロジェクトの作り方が分からない方は こちら の最初の部分に詳しく記載しています。

画面レイアウトを作ろう

プロジェクトが出来たら、コントロールを張り付けていきましょう。

今回は画面を左右に分割するため、SplitContainerというコントロールを使用します。

下記の動画を参考に、コントロールを配置して下さい。

下記の様なレイアウトになります。

Form.csの名前を変えよう

Formのファイル名が Form1.cs になっているので、今回もまたMainForm.cs に変更したいと思います。

Visual Studio の右側にあるソリューションエクスプローラーから「Form1.cs」を右クリックし、表示されるメニューから「名前の変更」を選び、MainFormに変更します。

コントロールに名前を付けよう

次はコントロールに名前を付けていきましょう。

今回新しく登場した SplitContainer については、今回の仕様ではプログラムで制御する必要がないため、特に名前は付けません。

コントロールの役割(Labelを除く)コントロールに付ける名前
プロジェクトが出来上がった際、最初に自動で作成されるWindowMainForm
変換対象入力用のTextBoxuxBeforeText
変換対象の文字コード選択ComboBoxuxBeforeLineFeed
変換結果表示用TextBoxuxAfterText
変換結果の文字コード選択ComboBoxuxAfterLineFeed
変換実行ButtonuxExecute
クリップボードへButtonuxCopyClipboard

今回もいくつかのコントロールについて、一部のプロパティに値を設定したいと思います。

コントロール名プロパティ名設定する値
MainFormFont
Text
Meiryo UI,9pt
改行コード変換
uxBeforeTextMaxLength
Multiline
Anchor
ScrollBars
0
true
Top, Bottom, Left, Right
Both
uxBeforeLineFeedAnchorTop, Right
uxAfterTextMaxLength
Multiline
Anchor
ScrollBars
0
true
Top, Bottom, Left, Right
Both
uxAfterLineFeedAnchorTop, Right
uxExecuteAnchor
Text
Top, Right
変換実行
uxCopyClipboardAnchor
Text
Top, Right
クリップボードへ
”改行コード”のLabelAnchorTop, Right
SplitContainerAnchorTop, Bottom, Left, Right

今まで作ったプログラムでは、TextBoxは1行しか入力できませんでした。

しかし、いくつかのプロパティを設定することで複数行の入力が出来る様になります。

プロパティ名解説
MaxLength入力可能な文字数の設定。初期値は32767文字。
0にすると文字数制限が無くなり、メモリが許す限り入力できるようになる。
MultiLineTrue にすることで複数行の入力が可能になる。初期値は False。
ScrollBarsスクロールバーの表示/非表示設定。None,Horizontal,Vertical,Bothから選ぶ。
Bothは縦スクロールバーが常に表示され、必要に応じて横スクロールバーが表示される。
WordWrap行を折り返して表示するか否かの設定。初期値はTrue。
Falseにすると折り返さなくなるため、ScrollBarsプロパティに応じてScrollBarsが表示される

にちみに、今回の改行コード変換ツールにおいては、WordWrapを設定していません。

というか、設定し忘れていました。

必要ならWordWrapをtrue に設定して下さい。

イベントハンドラを作ろう

レイアウトが終わったら、イベントハンドラを作成します。

今回はLoadイベント、「変換実行」ボタンと「クリップボードへ」のClickイベントの合計3個のイベントハンドラを作成します。

実行して動作を確認してみよう

ここまで出来たら、VisualStudioの上部にある「開始」ボタンによりプログラムを実行してみて下さい。

まとめ

今回は概要説明と、画面の作成までを行いました。

今回新しく登場した SplitContainer は重宝するコントロールなので、是非使いこなせるようになってください。

次回はドラッグ&ドロップを含む全ソースコードの解説を行いたいと思います。

タイトルとURLをコピーしました