「.NET質問箱」では、「どぼん!のプログラミング掲示板」に書き込まれた.NETプログラミングに関する投稿を基に、さらに考察を加え、Q&A形式にまとめて紹介します。Officeでコピーした図をPictureBoxに表示する」で公開しています。Wordなどで作成した図をクリップボードにコピーした時、このデータを取得してPictureBoxに表示するために次のようなコードを書いたのですがうまくいきません。Shiさんの投稿が参考になります。Officeの図をクリップボードにコピーした時、そのデータは上記のコードのようにEnhancedMetafile形式では取得できないということです。Format以外はMemoryStreamオブジェクトとしてデータを取得できます。Officeでコピーした図を、例えばPNG形式でデータを取得する場合は、次のようになります。ここではフォームにピクチャボックス"PictureBox1"があり、このPictureBox1にクリップボードにある図を表示するものとします。Image.FromStream(ms);}"PNG"以外の形式を試してみたところ、上記のコードで"PNG"の部分を以下の文字列に変更した場合にのみ成功するようです。注意この記事の最新版は「用紙のサイズをコンボボックスに表示して、選択して印刷する」で公開しています。【質問】PrintDocumentクラスを使って印刷する際に、プリンタで印刷可能な用紙のサイズをコンボボックスに一覧表示して、選択された用紙サイズで印刷されるようにしたいのですが、どのようにすればよいのでしょうか?【回答】プリンタでサポートされている用紙サイズは、PrintDocumentオブジェクトのPrinterSettings.PaperSizesプロパティで取得できます。フォームにPrintDocumentオブジェクト"PrintDocument1"とコンボボックス"ComboBox1"がすでに配置されている時、PrintDocument1で指定されているプリンタでサポートされている用紙サイズをComboBox1に表示するには、次のようにします。ComboBox1にはPaperSizeオブジェクトを追加し、ComboBox1のDisplayMemberプロパティを"PaperName"とすることにより、ComboBox1にはPaperSizeのPaperNameプロパティで取得できる文字列が表示されるようにしています。ComboBox1.Items.Add(ps);}ComboBox1で選択された用紙サイズで印刷するには、次のようにします。DefaultPageSettings.PaperSizeプロパティをComboBox1.SelectedItemに変更しているだけです。(PrintDocument1のPrintPageイベントハンドラは省略されています。PrintPageイベントハンドラがないと、印刷はできません。印刷する方法に関しては、DOBON.NETの「印刷する」などをご覧ください。注意この記事の最新版は「FileSystemWatcherでファイル名が小文字になる問題の解決法」で公開しています。【質問】ファイルの変更を監視するためにFileSystemWatcherクラスを使っていますが、Changedイベントハンドラで取得できるFileSystemEventArgsオブジェクトのFullPathやNameプロパティのファイル名が小文字になってしまいます。1.1でも修正されていないようです)。よってこの問題を解決するには、今のところ小文字のファイル名から正しいファイル名を取得する何らかの方法を考えるしかないようです。このような小文字のファイル名から正しいファイル名を取得するための方法が、ニュースグループで紹介されていました。Xieこの記事によると、ルートフォルダから順番にDirectoryInfoクラスのGetFileSystemInfosプロパティを使って一つずつ正しいフォルダ名(最後はファイル名)を取得していくという方法でうまくいくとのことです。上に紹介した記事にコードもありますが、私なりに書いたものを以下に紹介します。このコード(メソッド)は、短いファイル名から長いファイル名を取得するためにも使えるため、"GetLongPath"という名前をつけています。†ここでは、話すと人に嫌われるなまぬるいコンピュータに関する雑学を紹介します。Kurtzによって開発されました(5月1日午前4時に初めてBASICプログラムが実行されたとされています)。8800用BASICインタープリタを開発しました。これをきっかけに、BASICがプログラミング言語として広まることになります。GatesがBASICのコードを書きました。Gatesはこの時書き上げたプログラムこそ人生で最高のプログラムだと語っているそうです。Allenは1975年7月11日にMITS社とBASICのライセンス契約を結びました。Allenが$606を出資し、Micro-Softを設立しました(その後、Microsoftとなります)。.NETに引き継がれているのです。