WinForms

コンピュータ

Graphics.TransformのMatrixの中身を覗いてみる2「TransformPoints」

Matrix.TransformPoints()でアフィン変換後の座標を計算してくれるようなので、試してみます。 プログラム using System.Drawing.Drawing2D; namespace MatrixSample; p...
コンピュータ

C#で画像の差分を表示するプログラム

2つの画像の各ピクセルの差を計算し表示しています。 実行環境構築 プロジェクトの作成 mkdir プロジェクト名 cd プロジェクト名 dotnet new winforms code . ソースプログラム using System.Dra...
コンピュータ

C#のWinFormsでNumericUpDownを試す。

NumericUpDownは数値を入力するコントロールで、数値を増減させるスピンボタンがついています。 入力した数値はNumericUpDwon.Valueプロパティで参照可能でプロパティの型はdecimalです。 定義例、 Numeric...
コンピュータ

C#のWinFormsでFlowLayoutPanelを試す

FlowLayoutPanelは子コントロールを自動的配置してくれるコントロールです。 配置するコントロールはサイズのみ指定し、配置する座標はFlowLayoutPanelに任せることが出来ます。 例、 namespace FlowLayo...
コンピュータ

グレースケールで保存したPNGのPixelFormatは何になる?2「Format8bppIndexed」

PixelFormatにFormat8bppIndexedというフォーマットがありました。8bppですので8bitのグレースケールを扱うフォーマットだと思われますので試してみたいと思います。 元画像(カラー) ソースコード namespac...
コンピュータ

C#のWinFormsでSystem.Drawing.Pointを確認する。

Point point = new(); Debug.Print("X:{0}, Y:{1}, IsEmpty:{2}", point.X, point.Y, point.IsEmpty); // X:0, Y:0, IsEmpty:Tru...
コンピュータ

C#のWinFormsでSystem.Drawing.Recangleを確認する

Recangleは矩形座標を配置する情報をプロパティに持ちます。 Rectangle rect1 = new(); Debug.Print("{0}", rect1); // {X=0,Y=0,Width=0,Height=0} コンストラ...
コンピュータ

C#でフリーハンドで線を引く2「ひとつ前に戻る機能をつける」

ペイントソフトなどにある「ひとつ前に戻る機能」がどの様なものか考え試作してみました。 namespace FreeHand2; public class ImgObject : IDisposable { public Bitmap Bit...
コンピュータ

C#のWinFormsでControlの配置について

WinFormsでコントロールの配置について学んだことをまとめてみます。 配置されるタイミングについて 自分はコンストラクタでControls.Add()で配置しますが、それ以外でも動的に生成配置することも可能です。FormのLoadイベン...
コンピュータ

C#のWinFormsでHScrollBarのMaximum、LargeChangeとValueの関係について

HScrollBarのValueがスライドを前回に動かしても、Maximumの値になっていいないようなので確認してみました。 サンプルソース using System.Diagnostics; namespace HScrollBarSam...
コンピュータ

C#のWinFromsでAnchorプロパティを設定する。

Anchorプロパティを設定してみました。 namespace ClientCoordinate; public partial class Form1 : Form { public Form1() { InitializeCompone...
コンピュータ

C#のWinFormsでMarginとPaddingを確認する。

PaddingやMarginプロパティはコントロールの余白の設定なのですが、実際設定するとどのような影響あるか確認してみます。 デフォルト設定 namespace ClientCoordinate; public partial class...
コンピュータ

C#のWinFormsでUserControlでオリジナルのイベント処理を追加する。

UserControlを継承しカスタマイズすることでオリジナルのコントロールを作成することが出来ます。 そのコントロールの用途に合わせた固有のイベントを作成することが出来れば、発生したイベントに連動した処理を実行することが出来ます。 nam...
コンピュータ

C#のWinFormsで右クリックでコンテキストメニューを表示する。

UserControl上で右クリックでコンテキストメニューを表示するサンプルになります。 サンプルプログラムソース namespace ContextMenuSample; public partial class Form1 : Form...