c#

コンピュータ

C#でzipファイルをバイナリデータとして読み込んでみる。

C#ではzipファイルを扱うライブラリがありますが、今回はzipファイルをバイナリデータとして読み込んんで中身をのぞいいてみようと思います。wikipediaでZIPファイルのページを眺めていたところZIPファイルの構造の情報がありました。...
コンピュータ

C#のList<T>とインターフェイス

インターフェイスを使ったことはあっても自分で作る機会ほどんどないのですが、たまたま使わざるをえない状況になりましたので、サンプルプログラムを書いてみたいと思います。using System.Collections.Generic;names...
コンピュータ

C#でWPF学習中「WPFプロジェクトを作成するスクリプト3」

前回にクラスライブラリとコンソールプロジェクトを使えるようにしましたが、今回はシンプルにWPFのアプリケーションを作成するプロジェクトを作成します。WPFプロジェクトを作成しMicrosoft.Xaml.Behaviors.WpfとReac...
スポンサーリンク
コンピュータ

C#でzipファイル内のファイルを削除

ZipFileをUpdateモードで開いてzipファイル内のファイル(Entry)を取得Delete()メソッドで削除します。ソースコードusing System.IO.Compression;const string zipfile = ...
コンピュータ

C#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。

WPFでINotifyPropertyChangedを使ってみたことがありました。その後にもっと便利なReactiveProperyを知ったため、長らく忘れていました。正直MVVMなWPFは小規模なプログラミングだと面倒を感じ、WinFor...
コンピュータ

ファイルをバイト配列に読み込む実験「FileStream.ReadとParallel.For」

SSDに保存されたファイルサイズが216MBのPNG形式画像ファイルがありまして、これをWinFormsのPictureBoxで表示するプログラムを書きます。 // パターン0 using FileStream fs = new(fileN...
コンピュータ

C#のWinFormsでSystem.DrawingとMagick.NETとOpenCVSharpでPNGファイルのデコード速度を比較

手作りのソフトなので計測なので精度は今一つですが、System.Drawingが一番速い結果になりました。System.Drawing:22msMagick.NET:39msOpenCVSharp:33msWindows環境で実行しているの...
コンピュータ

C#のWinFormsでファイルマネージャを作る3。「サムネイル表示の高速化」

ListViewの動作が遅い原因を探ってみたところ、オーナードローでの描画にサムネイル画像の用意が間に合っていないことが原因でした。VirtualModeで表示部分だけの描画される動作も、そもそも描画の準備が間に合っていないためスクロールす...
コンピュータ

C#のWinFormsでToolStripなToggleButtonのサンプル

スライドスイッチみたいな見た目を想像しましたが、押しボタンタイプの見た目です。ソースコードnamespace ToolStripToggleButtonSample1;public partial class Form1 : Form{ p...
コンピュータ

C#のWinFormsでファイルマネージャを作る2。「大きいサムネイル」

前回作成した内容で使ってみたのですが、目的が画像や動画の選択ですので、ファイルの一覧で画像の内容が目視出来たほうが良いことに気が付きました。ついでにGIMPの.xcfやPhothoShopの.psd及び動画の.aviや.mp4などの内容も表...
コンピュータ

C#のWinFormsでファイルマネージャを作る。「試作編」

少しずつ調べていた機能がだいぶ溜まったので、以前から作ろうと思っていたファイルマネージャ(劣化版エクスプローラー)を作成したいと思います。アプリケーションのファイルの一覧からGIMPなどの画像加工のアプリケーションに画像ファイルをドラッグア...
コンピュータ

C#のWinFormsでリストビューを試す。「アイテムにアイコンを表示」

カレントディレクトリのファイルの一覧をリストビューで表示するプログラムを作成しました。リストビューのアイテムがファイルの場合とディレクトリの場合で別のアイコンが表示されるようになっています。namespace ListViewSample;...
コンピュータ

C#のWinFormsでコンボボックスのイベントを確認する2。「バリデーション」

コンボボックスはプルダウンメニューの様な選択肢を選択する機能と文字を入力するテキストボックスのような機能が複合されたコントロールです。選択と入力で保持する値が別の方法で変更される可能性があり、イベントの処理を考えると思考を放棄したくなります...
コンピュータ

C#のWinFormsで絵文字を描くサンプル。「フォルダを描く」

System.Drawing.GrapihcsのDrawStringメソッドを使うと画像に文字書くことが出来ます。その際フォントを指定することになりますが、絵文字を持っているフォントを指定し、描きたい絵文字を文字コードに指定すると、絵文字を...