C#

【C#】端末が操作されていない時間を取得する

C#

Windows端末がどのくらいの間AFKであるかを知りたかったので調査結果をノートします。参考サイト csharp.hotexamples.com【C#の場合】 internal struct LASTINPUTINFO { public uint cbSize; public uint dwTime; } class Program { [System.Runtime.Interop…

【C#】【VB.NET】文字列の中にList<string>が含まれるかを判定する

ある文字列の中に、ある文字列リストの一部/全部が含まれるかを判定する手法を調べたのでノートします参考サイト stackoverflow.com【C#の場合】 List<string> words = new List<string>() { "bar", "baz" }; string chat1 = "What is foo?"; string chat2 = "What is bar d</string></string>…

【C#】DataGridViewで行コピーペーストを実装する

C#

C#のDataGridViewで行コピペ機能が欲しかったので調査結果をノートします。参考サイト stackoverflow.com【C#の場合】 下記クラスを作成します using System.Windows.Forms; public class ClipboardUtils { public static void OnDataGridViewPaste(object g…

【C#】【VB.NET】WinFormsのTreeViewで全ての葉ノード(末端)がチェックされているか判定する

TreeViewにおいて、あるノードの持つ全部の葉ノード(末端)がチェックされているか知りたいことがあります。 ↑のような3値のチェック状態を持たせられれば、true(✓)かnull(■)かで判定できるのですが、 WinFormsのTreeViewでは不可です。【参考サイト】…

.NET C# - How to check if all leaves are in WinForms TreeView.

C#

You could easily make this into an extension methods like this. public static class ExtensionMethods { public static bool AllLeavesChecked(this TreeNode treeNode) { if (treeNode.Nodes.Count == 0) { return treeNode.Checked; } else { bool re…

【C#】【VB.NET】Listや配列を1行のLinqクエリで列挙する

Listや配列を簡潔に列挙する手法をノートします参考サイト stackoverflow.comC#の場合 class Student { public int Code; public string Name; public Student(int p1, string p2) { Code = p1; Name = p2; } } class Program { static void Main(string[] a…

【C#】【VB.NET】StreamReaderでスキップして1行先を読み込む方法

CSVを読み込むときに、ループの現在行を変えずに次の行をカンニングしたいケースがあります。 StreamReaderはランダムアクセスできないものですが、継承クラスを利用することで可能だったのでメモします。 この力、マリアンヌ様以外に使うことがあろうとはな…

【C#】【VB.NET】CheckedListBoxがチェックされたときにイベントを発生させる

CheckedListBoxのチェック状態が変わったときにItemCheckイベントが発生するんですが、 チェック状態が更新されていないのでItemCheckEventArgsを調べなくてはいけません。 面倒なので簡便な手法がないか調べたところ、 遅延実行を利用するのがシンプルだっ…

【C#】【VB.NET】CheckedListBoxの全てのチェックボックスをチェックする

CheckedListBoxの全てのチェックボックスをチェックする手法を調べたのでメモ参考サイト stackoverflow.comC#の場合 /// <summary> /// ボタンをクリックするとすべてのチェックボックスをチェックします /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ButtonCheckAll_Click(object se…

【.NET】クリックしたときに全選択されるテキストボックスを作成するシンプルな方法

ブラウザーのアドレスバーみたいなTextBoxを作成する必要があったので調べてみましたが、 シンプルな方法が欲しかったので記事にします。参考サイト stackoverflow.com対象のテキストボックスに下記のEnterイベントを設定します。C#の場合 /// <summary> /// アクティ</summary>…

【C#】【VB.NET】要素が含まれているかAny()したらArgumentNullExceptionが発生する

インスタンス生成していないならエラーが起きるのも当然ちゃ当然でしょうが、 生成されているか判断する必要がある場合もあるでしょう。 if ((list != null) && (list.Any()))とかすればいいんでしょうけど、 String.IsNullOrEmptyみたいな便利なモノはない…

【C#】インデックスやフィールド名で構造体の値を取得する

C#

インデックス(添え字)やフィールド名で構造体の値を列挙したり取得したりする方法。 ちなみにクラスでも(1行目のstructをclassに変更)同様の結果が得られます。参考サイト stackoverflow.com struct MyStruct { public string Name; public int Age; pu…

【C#】【VB.NET】プリンターの印刷が終了するまで待つ

プリンターの印刷が終了するまで待つ方法を調べたのでメモ。 調べるきっかけがVisualBasic案件だったのでVB.NET版も。 下記コードは最小限なので必要に応じてエラー処理なりタイムアウト処理なり設定してください。参考サイト stackoverflow.com 【C#】 usin…

【C#】JPEG画像ファイルを8bitTIFFフォーマットに変換する(スキャン画像のファイルサイズを削減する)

C#

大量のスキャン画像のファイルサイズを削減する必要があっていろいろ検証したので手法を覚書しますスキャン画像の概要 ・2色刷りの印刷物に手書きしたもの ・ファイルフォーマットはJPEG(タイトルに結論が書いてありますがw)PNG・GIFF・TIFFで比較したと…

【C#】画像ファイルを指定したサイズ(幅×高さ)に変更する

C#

大量の画像ファイルを指定の縦横サイズにリサイズする必要があり、手法を調べたのでノートします。1.アスペクト比を維持しないでサイズ変更する アスペクト比とは長辺と短辺の比率のことで、いわゆる画像の縦横比率です。 この方法では元画像と目的サイズ…

【Excel】リンクされた図を含むワークブックが重いので図のリンク状態を制御する

ワークシートをデザインするときに、リンクされた図をうまく利用すると自由なレイアウトを組むことができます。 使いこなせばとても便利なんですが、以前の記事でも書いたようにリンクされた図にはいろいろ不安定な面があります。 ぶち当たったのは、リンク…

【C#】iTextSharpを利用してPDFファイルのページを削除する

C#

前回の続きのはなし ExcelファイルからPDFを生成する必要があったけど、 リンクされた図の仕様(?)のためにPDF生成してから冒頭のテンプレートを削除することになった。参考 stackoverflow.com using System.IO; using iTextSharp.text.pdf; using iTextSh…

【C#】ExcelのActivePrinterを変更する

C#からExcelを操作するときの話。 複数PCでExportAsFixedFormatメソッドでPDFを大量に作成する業務をしたのだけど、特定の環境で作成したPDFの用紙サイズが違っていた。 原因は規定のプリンターの違いにあって、Excelで作成したPDFは、印刷設定によってはプ…