2017年5月13日土曜日

VB.NETでFormのサイズ変更、「×」ボタンを無効化する

ユーザーによるFormの操作を制限する

Formを作成しると最初はユーザーにより最大化や最小化、閉じる等の機能が有効な状態です
しかし、仕様によってはその機能が邪魔になりかねません
それらの機能を無効化します

プロパティでコントロールボックスを非表示にすることはできますが、それでは最小化ボタンまで消えてしまいますので、「最大化」、「サイズ変更」、「閉じる」を無効化します

最大化とサイズ変更無効化

 
'Window最大化ボタン無効
Me.MaximizeBox = False
'Windowのサイズ変更禁止
 Me.FormBorderStyle = FormBorderStyle.FixedSingle
「MaximizeBox」プロパティと「Me.FormBorderStyle」プロパティの操作で無効化します
Formの「Load」イベントで実行するのが現実的です

「×」閉じるボタン無効化

フォームのCreateParamsプロパティをオーバーライドして「閉じる」ボタンを無効状態にし、システムメニューの「閉じる」も表示されず、「Alt」+「F4」キーも無効にします
Protected Overrides ReadOnly Property CreateParams As CreateParams
    Get
        Dim c = MyBase.CreateParams

        c.ClassStyle = c.ClassStyle Or &H200
        Return c
    End Get
End Property
このコードをFormの「Class 」内にコーディングすれば「×」閉じるボタンを無効化できます

Bloggerにオリジナルナビゲーションバーを設置する

テンプレートの機能を有効に利用しオリジナルナビゲーションバーを設置

以前に「ラベル」をナビゲーションバーを設置する方法を紹介しましたが、今回は任意の項目で、しかも、簡単に表示する方法を紹介します

ガジェット設置

「デザイン」、Cross-Columnの「ガジェットを追加」、「HTML/JavaScript」を選択



ガジェットを編集


「タイトル」を空白にして次のようなコードを記述して下さい
 
<div id="menu">
<ul>
<li><a href="リンクURL1" target="_blank">タイトル1</a></li>
<li><a href="リンクURL2" target="_blank">タイトル2</a></li>
<li><a href="リンクURL3" target="_blank">タイトル3</a></li>
<li><a href="リンクURL4" target="_blank">タイトル4</a></li>
<li><a href="リンクURL5" target="_blank">タイトル5</a></li>
</ul>
</div>

オリジナルナビゲーションバー表示

このように表示されます

Bloggerの標準ナビゲーションバーを消してカテゴリをナビゲーションバーとして表示

標準ナビゲーションバー

これを消す

新たにナビゲーションバー表示

これを表示

標準で表示されているナビケーションバーを消す

「レイアウト」、Navbarガジェットの「編集」、ラジオボタンを「オフ」に設定



カテゴリをナビゲーションバーに表示

「レイアウト」、Cross-Columnの「ガジェットを追加」、「ラベル」ガジェットを追加、タイトルを消して「保存」




「表示」で「選択したラベル」にすると表示するラベルを選択できる

まとめ

ナビゲーションバーの設置で以前よりは見栄えするようになったがカスタマイズが困難
表示する順番を変えたり、ラベルに設定していない内容を表示するには「HTML」をカスタマイズしてナビゲーションバーを設置する必要がある
またの機会にその方法を記事にしようと思います