コンピュータC#のWPFでドライブの一覧とカレントディレクトリの階層を選択するコンボボックスを作る。 カレントディレクトリを変更するために、コンボボックスを使ってドライブの一覧を選択するUIがあります。 また、ドライブだけではなくカレントディレクトリとその上位階層も選択するようになっていると便利です。 実際作れるか挑戦してみました。 以下7... 2024.04.25コンピュータ
コンピュータC#のListをJSON形式でシリアライズ・デシリアライズする2。「型を確認する」 前回インターフェイスのデシリアライズに失敗しましたので対策を考えてみたいと思います。 まずListの要素の型を確認します。TはISampleBaseですが各要素に対してGetType()メソッドを実行しどの型になるか確認します。 using... 2024.04.25コンピュータ
コンピュータC#のList<T>をJSON形式でシリアライズ・デシリアライズする。 List<T>のTをインターフェースにしたオブジェクトをJSON形式でシリアライズ・デシリアライズ出来るのか確認してみます。 予想ですがシリアライズは出来てもデシリアライズは無理そうな気がします。 まずはシリアライズしてみます。 using... 2024.04.24コンピュータ
コンピュータC#でzipファイルをバイナリデータとして読み込んでみる。 C#ではzipファイルを扱うライブラリがありますが、今回はzipファイルをバイナリデータとして読み込んんで中身をのぞいいてみようと思います。 wikipediaでZIPファイルのページを眺めていたところZIPファイルの構造の情報がありました... 2024.04.20コンピュータ
コンピュータC#のList<T>とインターフェイス インターフェイスを使ったことはあっても自分で作る機会ほどんどないのですが、たまたま使わざるをえない状況になりましたので、サンプルプログラムを書いてみたいと思います。 using System.Collections.Generic; nam... 2024.04.19コンピュータ
コンピュータC#でWPF学習中「WPFプロジェクトを作成するスクリプト3」 前回にクラスライブラリとコンソールプロジェクトを使えるようにしましたが、今回はシンプルにWPFのアプリケーションを作成するプロジェクトを作成します。 WPFプロジェクトを作成しMicrosoft.Xaml.Behaviors.WpfとRea... 2024.04.17コンピュータ
コンピュータC#でzipファイル内のファイルを削除 ZipFileをUpdateモードで開いてzipファイル内のファイル(Entry)を取得Delete()メソッドで削除します。 ソースコード using System.IO.Compression; const string zipfile... 2024.04.16コンピュータ
コンピュータC#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。 WPFでINotifyPropertyChangedを使ってみたことがありました。 その後にもっと便利なReactiveProperyを知ったため、長らく忘れていました。 正直MVVMなWPFは小規模なプログラミングだと面倒を感じ、WinF... 2024.04.15コンピュータ
コンピュータファイルをバイト配列に読み込む実験「FileStream.ReadとParallel.For」 SSDに保存されたファイルサイズが216MBのPNG形式画像ファイルがありまして、これをWinFormsのPictureBoxで表示するプログラムを書きます。 // パターン0 using FileStream fs = new(fileN... 2024.04.14コンピュータ
コンピュータC#のWinFormsでSystem.DrawingとMagick.NETとOpenCVSharpでPNGファイルのデコード速度を比較 手作りのソフトなので計測なので精度は今一つですが、System.Drawingが一番速い結果になりました。 System.Drawing:22ms Magick.NET:39ms OpenCVSharp:33ms Windows環境で実行し... 2024.04.14コンピュータ
コンピュータC#のWinFormsでファイルマネージャを作る3。「サムネイル表示の高速化」 ListViewの動作が遅い原因を探ってみたところ、オーナードローでの描画にサムネイル画像の用意が間に合っていないことが原因でした。 VirtualModeで表示部分だけの描画される動作も、そもそも描画の準備が間に合っていないためスクロール... 2024.04.13コンピュータ
コンピュータC#のWinFormsでToolStripなToggleButtonのサンプル スライドスイッチみたいな見た目を想像しましたが、押しボタンタイプの見た目です。 ソースコード namespace ToolStripToggleButtonSample1; public partial class Form1 : Form... 2024.04.12コンピュータ
コンピュータC#のWinFormsでファイルマネージャを作る2。「大きいサムネイル」 前回作成した内容で使ってみたのですが、目的が画像や動画の選択ですので、ファイルの一覧で画像の内容が目視出来たほうが良いことに気が付きました。 ついでにGIMPの.xcfやPhothoShopの.psd及び動画の.aviや.mp4などの内容も... 2024.04.12コンピュータ
コンピュータC#のWinFormsでファイルマネージャを作る。「試作編」 少しずつ調べていた機能がだいぶ溜まったので、以前から作ろうと思っていたファイルマネージャ(劣化版エクスプローラー)を作成したいと思います。 アプリケーションのファイルの一覧からGIMPなどの画像加工のアプリケーションに画像ファイルをドラッグ... 2024.04.11コンピュータ