タグ

ブックマーク / dobon.net (9)

  • パスワードのようなランダムな文字列を生成する

    パスワードのようなランダムな文字列を生成するここでは、パスワードとして使えそうな、ランダムな文字列を作成する方法を幾つか紹介します。 .NET Framework 2.0以上で、Membership.GeneratePasswordメソッドを使用する.NET Framework 2.0からは、Membershipクラス(System.Web.Security名前空間)のGeneratePasswordメソッドを使って簡単にできます。Membershipクラスを使用するには、System.Web.dllを参照設定に追加する必要があります。 GeneratePasswordメソッドで生成される文字列には、アルファベットの大文字、小文字、数字と、それ以外に、!@#$%^&*()_-+=[{]};:<>|./?(区切り記号)が使用されます。 以下に、8文字のランダムな文字列を生成する例を示します。

    パスワードのようなランダムな文字列を生成する
  • 解像度によりフォームの大きさを変えて表示する

    解像度によりフォームの大きさを変えて表示する自動スケーリングを利用する.NET Framework 1.1以前では、Form.AutoScaleプロパティをTrueにすることにより、フォームが自動スケーリングされるようになります。自動スケーリングが有効になっていると、表示解像度(DPI)やシステムフォントの違いにより、フォームの大きさが自動的に調節されます。デフォルトでAutoScaleプロパティはTrueになっています。なお明示的にスケーリングを実行するには、Form.ApplyAutoScalingメソッドを呼び出します。 .NET Framework 2.0以降では、ContainerControl.AutoScaleModeプロパティにより、自動スケーリングを有効にできます。AutoScaleModeプロパティがDpiの時は、ディスプレイの解像度を基準として、スケーリングを行います

    解像度によりフォームの大きさを変えて表示する
  • DOBON.NET .NET Tips - パスに関する情報を取得する

    パスからファイル名、拡張子、ディレクトリ名、ルートディレクトリ名等の情報を取得するPathクラスを用いることにより、ファイルのパスに関するさまざまな情報を取得することができます。たとえば、パスからファイル名、拡張子なしのファイル名、拡張子、ディレクトリ名、ルートディレクトリ名の取得や、拡張子を変更したときのパスの取得などができます。 パスからファイル名、拡張子などの情報を取得するまずは、パス文字列からいろいろな情報を取得する例を紹介します。指定するパス文字列のファイル(あるいはフォルダ)は、存在している必要はありません。 'ディレクトリ名の取得 Console.WriteLine( _ System.IO.Path.GetDirectoryName( _ "C:\My Documents\My Pictures\サンプル.jpg")) '結果: C:\My Documents\My Pic

    DOBON.NET .NET Tips - パスに関する情報を取得する
  • DOBON.NET .NET Tips - 文字列の計算式の計算結果を取得する

    文字列の計算式の計算結果を取得するここでは、evalのように、例えば"(1+6)*5/(7-4)"のような計算式を表す文字列から、その計算結果を取得する方法を紹介します。 サードパーティーのライブラリを使用するC#やVB.NETには、evalやそれに相当する機能がありません。よって、自分で計算式を解析するコードを書くか、サードパーティーのライブラリを利用するか、あるいは何らかの工夫するかといった方法しかありません。 もしサードパーティーのライブラリを利用できるのであれば、それが一番良いと思います。以下に無料で利用できるライブラリを幾つか紹介します。 NCalc - Mathematical Expressions Evaluator for .NET ANTLRというパーサジェネレータを使用しているようです。C# EvalもANTLRを使用しているようです。この解析方法は、State of

    DOBON.NET .NET Tips - 文字列の計算式の計算結果を取得する
  • KeyPressなどのキーイベントをすべてフォームが受け取るようにする: .NET Tips: C#, VB.NET

    KeyPressなどのキーイベントをすべてフォームが受け取るようにする通常フォーム上のコントロールにフォーカスがある時にキーをたたくと、 KeyPress、KeyDown、KeyUpイベントはそのコントロールにのみ渡されます。しかし、フォームのKeyPreviewプロパティをTrueにすると、すべてのキーイベントをまずフォームが受け取り、処理が終了してからフォーカスのあるコントロールに渡されるようになります。また、eパラメータのHandledプロパティをTrueにすることにより、フォーカスのあるコントロールにキーイベントを渡さないようにすることもできます。 次の例では、Form1のKeyDownイベントで受け取ったキーの種類を表示し、Button1をクリックするたびにForm1のKeyPreviewプロパティのTrue/Falseを入れ替えるようにしています。このようなコードでKeyPre

    KeyPressなどのキーイベントをすべてフォームが受け取るようにする: .NET Tips: C#, VB.NET
  • 画像を半透明で表示する

    画像を半透明にするには、画像内のすべてのピクセルのアルファ値(透明度)を変更すればいいということになります。一つ一つのピクセルを操作するとなると大変ですので、ここではImageAttributesクラスとColorMatrixクラスを使ってアルファ値を変更して表示することを考えます。 ColorMatrixに関しては「画像のカラーバランスを補正して表示する」で説明していますのでそちらで確認していただくことにして、ここでは画像を透明度0.5で表示する例を示します。 'Imports System.Drawing '描画先とするImageオブジェクトを作成する Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height) 'ImageオブジェクトのGraphicsオブジェクトを作成する Dim g As Graphics = G

    画像を半透明で表示する
  • 正規表現を使って文字列を検索し、抽出する

    補足:ここでは正規表現の説明はしません。.NET Frameworkの正規表現の基は、「正規表現の基」で説明しています。 正規表現を使って文字列の検索し、検索された文字列を取得するには、RegexクラスとMatchメソッド(またはMatchsメソッド)を使用します。一致した要素はMatchオブジェクトとして返されます。 メールアドレスを抽出する次の例ではTextBox1に入力された文字列からメールアドレスっぽい文字列をすべて検索し、表示します。ここで使用している正規表現パターンは、「Regular-Expressions.info」で紹介されているものです。 'Regexオブジェクトを作成 Dim r As New System.Text.RegularExpressions.Regex( _ "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b",

    正規表現を使って文字列を検索し、抽出する
  • 長方形、多角形、楕円、円弧、扇形を描く

    注意:画像の表示方法が分からないという方は、まず「コントロールやフォームに画像を表示する」をご覧ください。また、Penクラスについては、「線を描く」をご覧ください。 長方形(矩形)の描画長方形を描画するには、Graphics.DrawRectangleメソッドを使います。 次の例では、位置(10, 20)に100x80の長方形を、幅1の黒色の線で、ピクチャボックス(PictureBox1)に描画しています。 'Imports System.Drawing '描画先とするImageオブジェクトを作成する Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height) 'ImageオブジェクトのGraphicsオブジェクトを作成する Dim g As Graphics = Graphics.FromImage(canvas) 'P

    長方形、多角形、楕円、円弧、扇形を描く
  • PictureBoxのImageプロパティに関するよくある勘違い

    PictureBoxのImageプロパティに関するよくある勘違い「コントロールやフォームに画像を表示する」ではコントロールに画像を表示する方法として、PictureBoxコントロールのImageLocationやImageプロパティを使用する方法と、コントロールのGraphicsオブジェクトを作成する方法の2つを紹介しています。そちらでも指摘していますが、この2つを併用すると、思ったようにいかなくなるかもしれません。 例えば以下の例では、画像(C:\test\1.jpg)の上に文字列を合成して表示しようとしています。そのために、PictureBoxコントロール(PictureBox1)のImageプロパティを使って画像を表示して、さらにPictureBoxのPaintイベントで文字列を表示しています。さらに、Buttonコントロール(Button1)をクリックすると、その画像をファイルに保

    PictureBoxのImageプロパティに関するよくある勘違い
  • 1