アトリエ・エクレア

2DCG&3DCG, プログラミング, 日記などを掲載してます。

Substance Painter入門 まーてい (著)

Substance Painter入門 まーてい (著)

2017/10/19発売




Visual Studio

Visual Studio

Visual Studio Community 2017


<リンク>



<行番号を表示>

  • 全ての言語で、行番号を表示する場合 :  [ツール]メニュー → [オプション] → [すべての言語] → [行番号]にチェック。
  • 各言語ごとに、行番号を表示する場合 :  [ツール]メニュー → [オプション] → 任意の言語を選択 → [行番号]にチェック。


<インデント>

  • インデントの挿入 :  Tab
  • インデントの削除 :  Shift+Tab


<ドキュメントのフォーマット>

  • [編集]メニュー → [詳細] → [ドキュメントのフォーマット] (Ctrl+K, Ctrl+D)


テキスト移動>

テキスト移動 :  Edit.PreviousHighlightedReference

  • Ctrl+Shift+上矢印キー(↑) :  一つ前のキーワードに、カレットが移動。
  • Ctrl+Shift+下矢印キー(↓) :  一つ次のキーワードに、カレットが移動。


<デバッグ>

デバッグ手順

  1. 行番号の左端をクリックで、ブレークポイント挿入
  2. デバッグの開始(F5)
    ※ブレークポイントに黄色い矢印マークが出る。これはドラッグ操作で、進めることも戻すことも可能。
    ※呼び出し履歴は下から順番になっている


<クラスの追加>

  • 方法1 :  [プロジェクト]メニュー → クラスの追加
  • 方法2 :  ソリューションエクスプローラーでプロジェクトを右クリック → [追加] → [クラス]
  • 方法3 : スニペットの挿入


<メソッドの抽出>

  1. メソッドにしたい範囲を選択する。複数行の場合、行番号をドラッグで複数行の範囲選択ができる。
  2. 電球アイコンをクリック → メソッドの抽出


<メソッドの定義にジャンプ>

  • コードエディター右上の、ドロップダウンリスト


<名前の変更>

コード中の全ての名前を変更できる。

  • 変数、メソッド、クラスなどの名前を右クリック → [名前の変更]


<インラインの一時変数>

変数を削除して纏める。
(ある変数に、仲介する変数を代入している場合、この仲介する変数を削除して、二行に渡る処理を一行に纏められる)

  • 変数を選択し、電球アイコンからインラインの一時変数を選択する。


<スニペットの挿入>

コード スニペットの挿入。
class, enum, for, foreach, if, switch, while など

  • 方法1 :  右クリックでコンテキストメニュー表示 → [スニペットの挿入] → [Visual C#] → 挿入したいものを選択する。
  • 方法2 :  あるいは 例えばswitch文の場合、switch と入力して Tab キーを押すことでも挿入可能。





Visual C#

Visual C#

※Visual Studio Community 2017

Windowsフォームアプリケーション


<はじめに>

  • Windowsフォームアプリを作成するには、Windows フォーム アプリケーション (.NET Framework ) を選択する。※上部プルダウンでターゲットフレームワークを選択する。
  • プロジェクトの構成は、ソリューションエクスプローラーに表示される。
  • フォームに配置する各種コントロールは、ツールボックスから選択できる。
  • コントロールの各種プロパティは、プロパティウィンドウで設定できる。
  • デザイナー(フォームデザイナー)にて、視覚的にコントロールを配置できる。


<乱数>

Random random = new Random();
int value = random.Next(0, 5);   // 0 <= value < 5


<リソースの追加>

ピクチャーボックスなどで使用するリソースの追加方法

  • 方法1 :  プロパティウィンドウの、Imageプロパティから
  • 方法2 : [プロジェクト]メニュー → (プロジェクト名の)プロパティ → リソース → 素材を、右ペインにドラッグ&ドロップ

リソースの管理

  • ローカルリソース : プロジェクト内で共用せずに単独  ※フォーム名.resx で管理
  • プロジェクトリソース : プロジェクト内で共用  ※PropertiesフォルダーのResources.resx で管理


<イベント>

<イベント設定>

  • プロパティウィンドウで、イベントボタンをクリックして、各種イベントを設定する。
    このとき、イベント名を選択してEnterキーを押すと、自動的に名前を設定してくれる。
  • デザイナーのコントロールをダブルクリックすると、既定のイベントが作成される。
    既に作成されていた場合、そのイベントハンドラーにジャンプする。
    既定のイベントはコントロールによって異なる。(フォームの場合、Loadイベント。ボタンの場合、Clickイベント など)

<イベントの削除>

  • イベントハンドラーの削除は、直接コードエディターで削除するのではなく、プロパティウィンドウで行うのが安全。


<コントロールの複製>

  • 方法1 :  Ctrlキーを押しながらドラッグ
  • 方法2 :  Ctrl+C , Ctrl+V


<主なプロパティ>

コントロールによって使用するプロパティは異なる。
主なプロパティ

  • (Name) :  オブジェクトを識別する、コードで使われる名前
  • Location :  コンテナーの上部左端に相対する、コントロールの上部左端の座標
  • Size :  コントロールのサイズ(ピクセル単位)
  • Enabled :  コントロールの有効/無効の切り替え
  • Font :  サイズは単位に注意
  • TextAlign :  テキストの位置
  • BackColor :  背景色
  • ForeColor :  前景色(テキストの色)
  • Cursor :  ポインターがコントロールに移動したときに表示されるカーソル

※bool型のプロパティは、プロパティ名のところをダブルクリックするたびに値が変わる



<フォーム>

  • フォームは、ソリューションエクスプローラでファイル名を変更すれば、自動的に (Name) プロパティが変更される。※逆は無理。
  • フォームを閉じるには、FormクラスのClose()メソッドが利用できる。※アプリの終了

プロパティ

  • (Name) :  ソリューションエクスプローラでファイル名を変更するのが良さげ。
  • Text :  フォームのタイトル(キャプション)は、Textプロパティで設定する。
  • Icon :  フォームのアイコン
  • AutoScaleMode :  Dpi にするのが良いかも。
  • StartPosition :  CenterScreenで画面中央にできる。
    任意の位置にするには、Manualにして、さらに、Locationでスクリーン左上からの位置を指定する。
  • FormBorderStyle :  Sizable規定値からFixedSingle等に変更するとサイズ変更不可になる。
  • MinimizeBox :  最小化ボタン Falseで無効(非表示)
  • MaximizeBox :  最大化ボタン Falseで無効(非表示)

イベント

  • Loadイベント :  フォームを読み込むときに発生。フォームをダブルクリックで簡単に設定可能。※アプリ起動時の処理を記述できる。


<メッセージボックス>

staticメソッド

MessageBox.Show("Hello, World!");  // クラスメソッド


<コモン コントロール>

<テキストボックス>

string str = myTextBox.text


<ラベル>

プロパティ

  • Text :  表示するテキストを入力 複数行入力した場合は、Ctrl+ Enterで確定
  • BorderStyle :  境界線を加えるかどうか


<ボタン>

イベントハンドラの設定

  • プロパティウィンドウのイベント(稲妻のアイコン)ボタンをクリック → Click と書かれたところをクリックして、Enterキー
プロパティ
  • Image :  表示されるイメージ。無しの場合は、null
  • Enabled コントロールの有効/無効の切り替え
MyButton.Enabled = false;


<ピクチャーボックス>

プロパティ

  • Image :  表示されるイメージ。無しの場合は、null
  • SizeMode : イメージの配置とコントロールサイズの変更をどのように扱うか制御
    • Normal :  拡大縮小無し、規定値
    • StretchImage :  コントロールのサイズいっぱいに拡大縮小
    • AutoSize :  画像サイズに合わせてコントロールのサイズを変更
    • CenterImage :  中央に拡大縮小無しで配置
    • Zoom :  縦横比を維持して拡大縮小

リソースの管理

  • ローカルリソース : プロジェクト内で共用せずに単独 ※フォーム名.resx で管理
  • プロジェクトリソース : プロジェクト内で共用 ※PropertiesフォルダーのResources.resx で管理
Image myImage = Properties.Resources.myPictureImage;  // リソースの読み込み
myPictureBox.Image = myImage;                         // PictureBoxのImageプロパティの設定


<プログレスバー (ProgressBar)>

プロパティ

  • Maximum :  最大値指定
  • Step :  ステップ量を指定し、PerformStepメソッドで更新(現在位置をステップ量だけ進める)
  • Value :  現在の値


<コンテナー>

パネル (Panel)>

プロパティ

  • BorderStyle :  境界線を加えるかどうか


<メニューとツールバー>

<メニューストリップ(MenuStrip)>

  • メニューバーを作成するために使用。
  • 使用すると、デザイナー下部(コンポーネントトレイ)にも表示される。

メニュー項目や、サブメニュー項目の追加

  • メニューバーをクリックし、"ここへ入力" と表示されたコンボボックスに、項目名を入力する。
    → ツールストリップメニューアイテムが追加される。
    ※コンボボックスからMenuItemを選択することでも可能。

ツールストリップメニューアイテム (ToolStripMenuItem)

  • メニュー項目を作成するために使用。
  • アクセスキー(Altキーと併用)は、&を使って指定。 例) 終了(&Q)
  • ショートカットキーは、ShortcutKeysプロパティで設定できる。


<コンポーネント>

<Timer>

  • Timerコンポーネントを使用すると、フォーム上ではなく、下のコンポーネントトレイに表示される

プロパティ

  • Interval 処理の時間間隔 ミリ秒
  • Enabled イベントハンドラの有効 / 無効 ※Start()メソッド / Stop()メソッドでも可能

イベント

  • Tickイベント 指定された間隔の時間が経過したときに発生。
    ※コンポーネントトレイで、ダブルクリックで簡単に設定可能。

時間を扱う場合、TimeSpan構造体が便利

// TimeSpan構造体
TimeSpan startTime = new TimeSpan(0, 0, 0);    // 時間, 分, 秒


<情報ボックス (AboutBox)>

アプリの情報を表示。

  • 作成 :  [プロジェクト]メニュー → [新しい項目の追加] → [情報ボックス]
  • 編集 :  [プロジェクト]メニュー → [(現在のプロジェクトの)プロパティ] → [アプリケーション] → [アセンブリ情報]ボタン
    ※AssemblyInfo.csと同期

インスタンスを作成して、メニューやボタンなどのクリックイベントハンドラで表示させる。

// メニュークリックのイベントハンドラ
private void MyToolStripMenuItem_Click(object sender, EventArgs e) {
    // 終了時に、Dispose()を呼び出してメモリ解放
    using (AboutBox aboutBox = new AboutBox()) {
        aboutBox.ShowDialog();                     // Form#ShowDialog() :使用後に要メモリ解放
    }
}


<アプリケーションのアイコン>

アイコンファイル(.ico)

  • プロジェクトのプロパティ → [アプリケーション] → [リソース]項目の、[アイコンとマニフェスト] で変更可能。


<リリースビルド>

ビルド構成を、Release に変更し、最適化する。

  1. [ソリューション構成] のドロップダウンで、DebugからReleaseに変更する。
  2. [ビルド]メニュー → ソリューションのビルド
  3. [表示]メニュー → 出力 ※正常終了を確認

以上の操作で、以下のものが作成される。
※プロジェクトのフォルダ → binフォルダ → Releaseフォルダ内

  • プロジェクト名(アセンブリ名).exe   ※アプリケーション実行ファイル
  • プロジェクト名(アセンブリ名).exe.config   ※アプリケーション構成ファイル
  • プロジェクト名(アセンブリ名).pdb   ※プログラムデータベースファイル

アプリの名称は、プロジェクトのプロパティの、アセンブリ名で変更可能(デフォルトはプロジェクト名)



<ClickOnce (クリックワンス)>

  1. プロジェクトのプロパティ → 発行 → 発行場所で発行フォルダーの場所を指定。
    ※デフォルトでは、プロジェクトフォルダー内のpublishフォルダー
  2. インストール モードと設定 → [必須コンポーネント]ボタンをクリック
  3. [必須コンポーネントをインストールするセットアッププログラムを作成する] にチェック
  4. インストールする必須コンポーネントを選択
  5. [必須コンポーネントをコンポーネントの開発元のWebサイトからダウンロードする] にチェック

以上の操作で、以下のものが作成される。

  • Application Filesフォルダー
  • プロジェクト名(アセンブリ名).application   ※アプリケーションのインストールと起動
  • setup.exe





マイブログへようこそ♪
PLEASANT_DRAGON

2DCG&3DCG,プログラミング,
日記などを掲載中☆

(*´▽`*)コメント大歓迎です☆

最新記事
記事一覧

全ての記事を表示する

カテゴリ
SAI (0)
mi (2)
C (1)
C++ (1)
C# (0)
VBA (0)
月別アーカイブ
最新コメント
RSSリンクの表示
リンク
FC2ブログランキング

FC2Blog Ranking

ピックアップ商品1♪










カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
ブログ内検索フォーム
プロフィール

エクレア

Author:エクレア


  • 2DCG&3DCGの創作活動をしています。

  • SF系のメカが大好物。

アクセスカウンター
Twitter
ピックアップ商品2♪