SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

HTMLを表示できるラベルを持った.NETアプリケーションの作成

ComponentOne Studio SuperToolTip for.NETのC1SuperLabelコントロールを使ったアプリケーションの作成

  • このエントリーをはてなブックマークに追加

フォームの作成

 では、さっそくC1SuperLabelコントロールを使ってプログラムを作成しましょう。

GUIのデザイン

 フォームには、C1SuperLabel、ComboBox、Buttonの3つのコントロールを配置し、FormBorderStyleプロパティを「Fixed3D」に設定しておきます。

 C1SuperLabelコントロールは、Dockプロパティを「Fill」にしてフォームいっぱいに広げます。そして、その上に設定したドロップダウンリストにComboBoxコントロールを、その下にButtonコントロールを配置します。

コントロールのレイアウト
コントロールのレイアウト

C1SuperLabelコントロールの作成

 フォーム画面のメインはC1SuperLabelコントロールで占めています。では、このHTMLコンテンツを作成していきます。

 まず、ツールボックスからC1SuperLabelコントロールのアイコンをフォームにドラッグ&ドロップし、Dockプロパティを「Fill」にします。プロパティウィンドウのTextプロパティの値欄にある[...]ボタンを押し、エディタを起動します。エディタには、デフォルトでコントロール名が記述されています。

エディタを起動する
エディタを起動する

 デフォルトのコントロール名を削除し、タイトルと最初のボックスのHTML文を記述していきます。HTMLを記述していくそばから、プレビューウィンドウにその結果が表示されます。なお、エディタはサイズを自由に変更でき、プレビューとの境界線もドラッグで移動できるため、見やすい大きさに広げて作業を行います。

<body><br>
	<div align="center">お手軽プログラムラウンチャー</div>
	<div style="background-color:deepskyblue;border:solid thin olive;margin:10px;padding:10px">

	 <div align="center" >メニュー<br>
	   </div><br>
	<br><br>
	<br>
	<br>
	</div><br><br>

 ツールバーの[Insert Image]ボタンを押します。画像選択のダイアログが表示されるので、挿入したい画像を選びます。

<img src='ring-8.gif'><br>
<br>

 箇条書きとテーブルを入力します。これらは、そのままタグ打ちで入力します。

	<div style="margin:20px; Color:White" >使用方法
	<ol>
	  <li>ドロップダウンリストからアプリを選びます。</li>
	  <li>「起動」ボタンをクリックします</li></div>
	</ol><br>
	<br>
	<table border="1" width="200" align="center">
	  <tr>
	    <td width="60"> Ver1.00.00</td>
	    <td width="144">Copyright seto.haruka </td>
	  </tr>
	</table>
</body>

 [OK]ボタンを押してエディタを閉じ、プロパティウィンドウで[BackgroundImage]をクリックします。ダイアログから「grad_blue.jpg」を選択すると、C1SuperLabelコントロールの背景に、グラデーションの画像が設定されます。

完成したC1SuperLabelコントロール
完成したC1SuperLabelコントロール

ComboBox、Buttonコントロールの設定

 C1SuperLabelコントロールの作成が終わったら、C1SuperLabelコントロールのボックス内にComboBoxコントロールとButtonコントロールを配置します。ButtonコントロールはTextプロパティを「起動」に変えます。

 ComboBoxコントロールは、「DropDownStyle」プロパティを「DropDownList」に変え、以下の項目をリストに設定します。

  • 電卓
  • メモ帳
  • ペイント
  • ワードパッド

 ButtonコントロールのClickイベントハンドラで、選択したアクセサリを起動する処理を設定します。これは、ProcessクラスのStartメソッドを使用して作成できます。StartInfoクラスのFileNameプロパティに起動するアクセサリのフルパス名を記述し、Startメソッドを実行します。そのため、System.Diagnostics名前空間への参照を設定してください。

 なお、このコードのパス名は筆者のWindowsのインストールフォルダになっているため、プログラムを実行する場合は自身のディレクトリ名に書き換えてください。

Visual Basic
Imports System.Diagnostics

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ps As Process = New Process()
        Select Case Me.ComboBox1.Text

            Case "電卓"
                ps.StartInfo.FileName = "e:\Windows\System32\calc.exe"
            Case "メモ帳"
                ps.StartInfo.FileName = "e:\Windows\System32\notepad.exe"
            Case "ペイント"
                ps.StartInfo.FileName = "e:\Windows\System32\mspaint.exe"
            Case "ワードパッド"
                ps.StartInfo.FileName = "E:\Program Files\Windows NT\Accessories\wordpad.exe"
        End Select

        ps.Start()
    End Sub

End Class
C#
using System.Diagnostics;

namespace mysuperlabel_cs
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Process ps = new Process();
            switch(comboBox1.Text)
            {
                case "電卓":
                    ps.StartInfo.FileName = "e:/Windows/System32/calc.exe";
                    break;
                case "メモ帳":
                    ps.StartInfo.FileName = "e:/Windows/System32/notepad.exe";
                    break;
                case "ペイント":
                    ps.StartInfo.FileName = "e:/Windows/System32/mspaint.exe";
                    break;
                case "ワードパッド":
                    ps.StartInfo.FileName = "E:/Program Files/Windows NT/Accessories/wordpad.exe";
                    break;
            }
            ps.Start();
        }
    }
}

まとめ

 ラベルにHTMLが使えると、文字列の表現がぐっと広がるだけでなく、いろいろな様式で表現できるようになります。

 C1SuperLabelコントロールには、タグ打ちのエディタが装備されていますが、エディタにはコピー&ペーストの機能も持っているため、他のエディタで作成したHTML文をペーストして使うこともできます。

 標準のLabelコントロールでのフォームのデザインに満足されてない方は、ぜひ使ってみてはいかがでしょうか。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6051 2011/10/13 16:26

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング