v .NETテクニック
Last up date 2004/12/28
■ VS.NET以前の時に使用していたOCXやDLLの使い方
VS.NET以前の時に使用していたMicrosoft Comm Control(MSComm)やグレープシティ社製品 のSPREADやVS-View、VS-FlexGridなどの
OCX やDLL をVS.NETで使いたいと思った事はありませんか?(※1、※2)
※1 ただし、動作保証はされていません し、サポートもされていません ので、使用する際にはくれぐれも注意 してください。
※2 調査の結果、グレープシティ社製品のActiveReportsはかなりの努力と根性、時間、技術が必要と思われますので、別の方法を考えたほうが良いかと思います。
例えば、ActiveReports for .NET を購入するとか…(回し者ではありません)
以下の手順で可能です。
注意 :動作保証はできません。また、市販のツールでは、動作保証、サポートされていませんので、自己責任 でお願いします。
1.Windowsフォームのところで右クリックをし、出てきたメニューから、「アイテムの追加と削除」を選んでください。(図1参照)
2.「ツールボックスのカスタマイズ」ダイアログが表示されますので、「COM コンポーネント」タブを押します。(図2参照)
【VB6風だと、[プロジェクト]メニューの[コンポーネントを選択]と解釈していただくと判り易いかもしれませんね】
3.あとは、「SPREAD」だったら、「FarPoint SPREAD…」など、使いたいOCXやDLLを選んでいただければ、使用可能になります。
※ソリューションエクスプローラの参照設定から追加する方法もありますが、ツールボックスには登録されませんので、コントロールをツールボックスから選択貼り付けしたいなら、1〜3の手順で行ってください。
■region ( リージョン ) をうまく使おう!
みなさんは、例えば、コードの100行目から200行目までをスマートにしたい…なんて思った事ありませんか?
そんな時に役に立つのが、region です。
これを使用することにより、コードの展開([+]をクリック)や折りたたみ([-]をクリック)ができます。
しかも、タイトルコメントの代わりに使っても便利です。
※残念ながら、VC.NETにはregionの変わりになるものが有りません。(私が調べた限り…)もし、有れば、連絡ください(~_~;)
<例>
使い方は簡単
VB.NETであれば、#Region 〜 #End Region で囲みます。
#Region " タイトル "
コード
#End Region
C#であれば、#region 〜 #endregion で囲みます。
#region タイトル
コード
#endregion
「ちょっとまて!検索できないよぉ〜」と言う方
ご安心を![検索]ダイアログの[非表示のテキストを検索]にチェックを入れて検索すると、regionで囲まれたコード内も検索対象となります。
■ DataGridのキャプションや幅を簡単に変える方法
DataGridのキャプションや幅を簡単に変える方法を紹介します。(※1)
準備として、
1.データベースを用意します。ここでは、郵便番号(全国版)データのmdbファイルを使います。当サイトにてダウンロード可能)
2.新規Windowsアプリケーションを用意し、Form1をいったん削除し、新しい項目の追加でデータフォームウィザードを選択し、
ウィザードに従ってグリッドとデータベースを関連付けてください。(図1参照)
3.スタートアップの設定を「DataForm1」に変えてください。(ここまで説明しなくても良いのだが…)
※1:これ以外の方法もありますが、あくまで簡単にする方法だと思ってください。
図1(ウィザードに従って関連付けされた結果、生成されたフォーム)
いざ、設定!
1.DataGridのTableStylesプロパティのところで、[...]ボタンを押し、「DataGridTableStyle コレクション エディタ」を開き、追加ボタンを押すと、「DataGridTableStyle1」メンバが作成(メンバ名変更可)されます。
2.追加された「DataGridTableStyle1」を選択し、MappingNameにデータテーブル名を指定します。(図2参照)
3.「DataGridTableStyle1」のGridColumnStylesプロパティのところで、[...]ボタンを押し、「DataGridColumnStyle コレクション エディタ」を開き、追加ボタンを押すと、「DataGridTextBoxColumn1」メンバが作成(メンバ名変更可)されますので、フィード分だけメンバを追加してください。
4.追加された「DataGridTextBoxColumn*」を選択し、MappingNameにフィールド名をそれぞれ指定します。(図3参照)
5.各「DataGridTextBoxColumn*」のHeaderTextに任意の文字を入れれば、ヘッダーのキャプションが、Widthの値を変えれば、幅が変わります。詳しくはヘルプをご覧ください。
■ VS.NET2003 クリーンインストール術
みなさんのマシン環境で、Visual Stutio .NET 2002(以下2002)が以前はインストールされていたけど、無償バージョンアップだったので、
Visual Stutio .NET 2003(以下2003)を入れ、インストールしたのはいいが、2002のインストールの時に作成されたファイルやディレクトリが残ってる…
という方はいませんか?
どうせ、2002が使えないのだったら、2002関係のファイルやディレクトリを掃除したい…なんて人がいると思います。
手順を記述しますので、時間があって、神経質な方は参考にしてください。
ただし、動作保証は致しませんので、自己責任 で…(おい
2002 → 2003 へのバージョンアップの手順
1.2002をアンインストール
2.c(任意のドライブ):¥Program Files¥Microsoft Visural Studio .NET フォルダを削除
3.Microsoft .NET Frameworkをアンインストール (ver 1.1等も含む)
(要は、.NET Framework の付いた名称全て)
4.c(任意のドライブ):¥Program Files¥Microsoft .NET フォルダを削除
5.MSDNライブラリ (Visual Studio 6.0 以前のMSDNライブラリは対象外 ) をアンインストール
(.NET系のMSDN ライブラリをアンインストール)
6.c(任意のドライブ):¥Program Files¥MSDN が有れば削除
7.あとは、2003を正しい手順でインストールしてください。
■ 条件付きブレークポイントの作り方(その1)
以外と知られていないのが、条件付きブレークポイントの作り方です。
まずは、10回クリックしたらブレーク する方法を紹介します。
<VB/C#とも同じ操作>
手順は簡単、
1.適当なフォームにButtonコントロールを貼り付け、そのコントロールをダブルクリックします。
2.恐らく、新規作成の手順で行えば、Button1_Click (C#はbutton1_Click)...というイベントが追加されましたね。
そしたら、「Button1_Click」にカーソルを合わせ、右クリックメニュー(図1参照)で
「ブレークポイントの作成」を選んでください。すると、「ブレークポイントの作成」ダイアログ(図2参照)が表示されます。
3.関数に「Button1_Click」と入力されているのが、確認できたら、「ヒットカウント」をクリックしてください。「ブレークポイントのヒットカウント」ダイアログ(図3参照)が表示されます。
4.ブレークポイントをヒットした時から、「ヒット カウント数が次の数と等しい時に停止」を選ぶと右側に数値を入力する欄が現れますので、
今回は「10」を入力し、「OK」をクリックしてください。(ここに入れる数値がカウント数の条件です。)
5.「ブレークポイントの作成」ダイアログ(図2参照)の「ヒットカウント」の横には「ヒット カウントが 10 のとき」と表記されます。
「OK」をクリックしたら、図4のようにブレークポイントが記されます。
6.では、実際に実行し、10回クリックしてみてください。10回目でブレークするはずです。
■ 条件付きブレークポイントの作り方(その2)
今回は、外部変数がある条件を満たした時にブレークする方法を紹介します。
しかし、VB6の様に直接変数が変わることによってブレークさせる...といった方法はありません。
私の推測ですが、VS.NETからオブジェクト思考言語になった事で、変数の値を変えるのもメソッドで有るべきだ。という思惑からではないでしょうか?
さて、本題に戻って、実際に、どうやったらいいのかを紹介します。
1.前回 で使ったフォームにもう一つ、Buttonコントロールを追加してください。(全部でButtonコントロールを2つ用意します。)
2.外部変数を宣言します。今回は、「Button1_Click」イベントの上に宣言します。(下記コード参照)
3.変数の値を変えるメソッドを用意します。「X_CountUp」という関数名にします。(下記コード参照)
4.ボタンのクリックイベント内に「X_CountUp」メソッドを呼び出します。(下記コード参照)
<VBのソース>
Private X As Integer
Private Sub Button1_Click (ByVal sender As System .Object , ByVal e As System .EventArgs ) Handles Button1 .Click
Call X_CountUp ()
End Sub
Private Sub Button2_Click (ByVal sender As System .Object , ByVal e As System .EventArgs ) Handles Button2 .Click
Call X_CountUp ()
End Sub
Private Sub X_CountUp ()
X += 1
End Sub
<C#のソース>
private int X ;
private void button1_Click (object sender , System .EventArgs e ) {
X_CountUp ();
}
private void button2_Click (object sender , System .EventArgs e ) {
X_CountUp ();
}
private void X_CountUp (){
X += 1 ;
}
5.これで準備は整いました。あとはブレークポイントの設定です。
今回は、「X_CountUp」メソッドにカーソルを合わせ、右クリックメニュー(図1参照)で
「ブレークポイントの作成」を選んでください。すると、「ブレークポイントの作成」ダイアログ(図2参照)が表示されます。
6.関数に「X_CountUp」と入力されているのが、確認できたら、「条件」をクリックしてください。「ブレークポイントの条件」ダイアログ(図3参照)が表示されます。
7.「ブレークポイントの条件」ダイアログ(図3参照)の「条件」項目に「X=10 (C#はX==10)」と入力し、「OK」をクリックしてください。
8.「ブレークポイントの作成」ダイアログ(図2参照)の「言語」項目がそれぞれの言語(VBは[Basic]、C#は[C#])になっているかどうかを確認し、
「OK」をクリックしてください。
9.では、実際に実行し、合計10回クリック(どちらのButtonでもかまいません)してみてください。10回目でブレークするはずです。