C#

C#_Rectangle の Left と X

Left も X も 左上の座標 ( 隅と端だけど ) なのに、なんで二つあるんだろと思っていた。参照専用 と 参照及び設定 のプロパティだった。 青が 参照と設定が可。緑は参照のみ。 プロパティ 説明 X 左上隅の x 座標 Y 左上隅の y 座標 Width 幅 Height 高さ L…

C#_Button などコントロールを配列として扱える

↑ Button や TextBox などコントロールの型があるので、 配列や List に格納できるという意味。 ex )※textBox1 や buttonA などはデザインでツールボックスから設置済み。 TextBox[ ] textBoxAry = new TextBox[ ] { textBox1, textBox2, textBox3 }; for (i…

C#_要素全てが条件に合致していたら TRUE

要素内の全てが条件に合致していたらTrue としたい場合、All ( ) を用いる。 ex )配列の要素全てが 5 の倍数だった場合、All ( ) は True を返す。numAry は 全て 5 の倍数なので "Exist" が表示される。 int[ ] numAry = new[ ] { 10, 20, 35, 40, 50 }; if…

C#_要素のどれか一つでも条件に合致していたら

要素内のどれか一つでも条件に合致していたらTrue としたい場合、Any ( ) を用いる。 ex )配列の要素どれか一つでも 5 の倍数だった場合、Any ( ) は True を返す。numAry には 40 があるので "Exist" が表示される。 int[ ] numAry = new[ ] { 11, 28, 34, …

C#_MessageBox の内容をコピー

C#

MessageBox がアクティブ ( 選択 ) になっている状態で、 [ Ctrl ] + [ C ] でコピー。後はメモ帳などに [ Ctrl ] + [ V ] で貼り付け。 このようなメッセージだと、 以下の様にコピーできる。 --------------------------- ---------------------------Ar…

C++/CLI_ List に要素を追加する

結論から。 hogeList->Add( xxx ); ソース System::Collections::Generic::List<int> ^ hogeList = gcnew System::Collections::Generic::List<int> ( ); //または //auto hogeList = gcnew System::Collections::Generic::List<int>( ); hogeList->Add(10); hogeList->Add(</int></int></int>…

C#_ メニューにつける三点リーダー

C#

三点リーダー ( Text に書く時は 「 ... 」 とドット 3 つ ) をつける時とつけない時の違い。 「 ... 」をつける時は、ユーザから何らかの引数を得る場合。ex )ファイルを開く時には選択したファイル名が引数。 確認ダイアログを表示して、 OK か キャンセル…

C#_Form の追加ができない

フォームを新たに追加したら、デザインで以下のようなエラーが出た。 ファイル内にデザインできるクラスがないため、このファイルのデザイナーを表示できませんでした。アセンブリが参照されているか、及びすべてのプロジェクトがビルドされているかを確認し…

C#_pictureBox にある画像の拡張子調べ

using System.Drawing.Imaging; 必要 ImageCodecInfo[ ] decoders = ImageCodecInfo.GetImageDecoders(); foreach (ImageCodecInfo ici in decoders) { if (ici.FormatID == pictureBox1.Image.RawFormat.Guid) { Console.WriteLine(ici.FormatDescription +…

C#_選択したファイルを読み込んで、中身を別 Form に渡す

続き真新しいのは TextChanged( ) ぐらい。他は以前書いたのを使いまわし。 流れとしては、ファイルがあれば OK ボタンが有効になる。OK ボタンクリック。選択したファイルを読み込み。ファイル内容を変数に格納。値を Form1 に渡す。 【前提】buttonOK の D…

C#_openFileDialog で選択したパスを表示

フィルパス表示と「...」ボタンをまとめて設置できるツールがあると思っていたが、作る必要あり。 【前提】個々のツール設置。 流れとしては、Form1 からボタンをクリック。Form2 が開く。Form2 にはパス表示する textBox など設置。 Form2 のソース //File1…

C#_フォーム間での値受け渡し

getter 、setter を使用する。 右辺にくれば get 、左辺にくれば set ※コードは、Form2 form2 = new Form2() など色々略。 Form1 で Form2 にて設定した値を受け取る プログラムの流れは、Form2 で設定 → Form1 で受け取り。 Form1 string getName = form2.n…

C#_ 任意のボタンを DialogResult.OK にする

if ( form.ShowDialog() == DialogResult.OK )で、設置した任意ボタンを クリックした際に true にしたい時。 設置したボタンのプロパティ、 DialogResult を OK に設定する。 前記事書いてたわ。すっかり忘れてた。 以上。

C#_ドラッグ & ドロップ のコード

ドラッグ & ドロップ した画像 を pictureBox に表示。 drag:引きずる。drop:落とす。 【前提】・Panel設置。・Panel の AllowDropプロパティをTrue。・PictureBox 設置。 ファイルが Form や Panel などのコント ロール内にドラッグされると発生する。 pr…

C#_クリックした座標を取得

e.Location はPointToClient ( Control.MousePosition ) とほぼ同じ値。 PointToClient(e.Location) は 違う。ハマった。 e.Location にフォームの左上を原点とした、マウスの X 座標・ Y 座標が格納。 クリックし、スクロール後に同じ位置でクリックした場…

C#_コレクションとは

C# において 「多数のオブジェクトをうまく扱えるようにする」機能をメソッドとして実装しているクラスのこと。 配列よりも柔軟な要素の扱いが出来るようになっている為、オブジェクトを管理するのに多用される。コレクションは、System.Collections という…

C#_時間測定

関数呼び出してから戻るまでを測定したいなど。 ※Stopwatch クラスは、高解像力パフォーマンスカウンターがサポートされていれば使う。サポートされていなければ、システムタイマ ( System.Windows.Forms.Timer のこと? ) を使う。 高解像力パフォーマンス…

C#_割り算と掛け算の結果がおかしい

結論 int 型どうしの計算は小数点以下が切り捨てられる。 経緯 int / int * 100 の結果が 0 となる。int / int * 100.0 で試しても同様。 int a = 2; int b = 3; Console.WriteLine(a / b * 100); //0 と出力結果 2 / 3 = 0.6666 と電卓ではなる。しかし、C#…

C#_Chart でグラフ作成

コードで生成したデータをグラフに描画する。タイトルや凡例、グラフの色の変更などは後で。 前提知識 Chart には Series というグラフ・データのコレクションがある。 グラフの種類やプロットする時はこのメソッドを使用する。 コレクション:多数のオブジ…

C++/CLI_ ref とは

C++/CLI のカテゴリーが登録できない。C++ [ / ] ではじかれる。 結論 参照クラス ( マネージクラス ) は ref で宣言する。 マネージクラス ( C ++/C LI ) を作成すると、[ public ref class HogeClass ] と ref がつく。この ref は マネージクラスですよ、…

値型と参照型 ( 構造体 と クラス )

値型 変数には直接値が格納。 ex )変数 A の値を変数 B へ代入した時、値がコピーされて渡される。変数 A が持っている値、変数 b が持っている値、と実体は 2 つある。 参照型 変数には「実体がどのにあるのかという情報」が格納。実体は別の場所 ( ヒープ …

C++/CLI_ C++ の DLL 作成 (Ver プロジェクト)

※ C # から使う。 下記手順ではC ++ のクラスはまだ作っていない。C # から C++ で書いた関数を呼び出すために仲介者として C ++/CLI のクラスを作っている。 C ++ のクラスを作成したい場合、C ++/CLI のクラスを作成する際には[ マネージ ] にチェックを入…

C#_0埋め(ゼロパディング) 追記

書式指定をよく忘れる。 (123.987).ToString("Xy"); X が書式指定子。書式指定子:表示形式を指定するためのもの。 y が精度指定子。桁数を表す。 ※書式指定子は大文字でも小文字でもOK。 Format Specifier:書式指定子 FS 意味 説明 例 結果 C 通貨 精度指…

C++/CLI_ CLI と CLR

分からなくなる。 C L I:共通言語基盤 ( Common Language Infrastructure )C L R:共通言語ランタイム ( Common Language Runtime ) C L I M icrosoft 社の「 M icrosoft.Net 」のプログラム実行環境の仕様。M icrosoft.NET:動作環境を提供するシステム基…

C++/CLI_ CTSとは

共通型システム Common Type Systsem プログラム言語に依存しない言語共通のデータ型を提供する為の仕組み。 中間言語 ( MSIL ) ならびに共通言語ランタイム ( CLR ) の中核となる機能。 C# のデータ型もこの共通型システムを基盤としている。 スタックメモ…

C++/CLIとは ( 追記 )

Managed C ++ の後継言語。 Managed C ++ とは .NET Framewor k は Microsof t が設計した、共通中間言語( Common Intermediate Language / CIL ) と呼ばれる、言語を実行する仮想マシン 環境 ( ランタイム ) のこと。 ネイティブシステムを抽象化するシステ…

Visual Studio_ソースのウィンドウを縦に分割

C#

横しかできないと思っていたが、よく読んだら方法が記載してあった。 ショートカットで操作するなら 1.「 Alt + W 」を押しつつ「 N 」 2.「 Alt + W 」を押しつつ「 V 」 1.で分割したいソースの新規ウィンドウが立ち上がる。2.で垂直タブが作成され…

C#_Image と Bitmap の違い

System.Drawing.Image ベクタ画像、ビットマップ画像問わず、画像を扱う為のクラス。png、jpg、gif 等、さまざまな画像形式ファイルを読み書きできる。 ベクタ形式:画像を円や直線などのような幾何学的な「図形」の集まりとして表現する形式。 ビットマップ…

C#_画像を保存

PictureBox に 表示されているイメージを保存。Bitmap でも同様。bmp.Save でOK。 //using System.Drawing.Imaging; 必要 pictureBox1.Image.Save(@".\test.jpg", ImageFormat.Jpeg); Save ( ) 第一引数:保存先のファイルパス。第二引数:保存する画像形式…

C#_テキストファイルから読み込んだデータの型変換

ファイルを読み込み変数に代入しても、それは String 型。int 型に変換して代入したい。 下記のようなファイルを読み込んで、型変換し変数へ代入するコード。 //using System.IO; 必要。 using (StreamReader st = new StreamReader(@"パス\ファイル名.txt")…