タグ

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

  • DataGridViewの行の並び替えの方法を変更する

    注意:DataGridViewコントロールは、.NET Framework 2.0で新しく追加されました。 ここでは、通常では並び替えのできない列を基準とした並び替えや、通常の並び替えとは違った方法での並び替え、複数列を比較しての並び替えなどといったように、並び替え方をカスタマイズする方法を紹介します。 並べ替え方を指定する方法は、幾つかあります。DataGridViewで並び替えを行う方法としては、SortメソッドでIComparerを指定して呼び出す方法や、SortCompareイベントを処理する方法があります。また、DataGridViewのDataSourceプロパティにデータソースが設定されている場合は、DataView.Sortプロパティなどにより、データソースを並び替えます。これらについて、以下に一つずつ紹介します。 DataGridView.Sortメソッドを使用する方法こ

    DataGridViewの行の並び替えの方法を変更する
  • フォルダをコピーする

    フォルダをコピーする「フォルダを作成、削除、移動(名前の変更)する」で説明したように、フォルダの移動はDirectory.Moveメソッドでできます。しかし、残念ながら"Directory.Copy"のようなメソッドはありませんので、Directoryクラスでフォルダをコピーすることはできません。ここでは、フォルダをコピーする方法を紹介します。 File.Copyメソッドで1つずつコピーする「ファイルをコピー、移動(名前の変更)、削除する」で紹介しているFile.Copyメソッドを使ってファイルを1つずつコピーする方法が考えられます。この方法で、以下のようなメソッドを作ってみました。このメソッドでは、属性もコピーしています。 ''' <summary> ''' ディレクトリをコピーする ''' </summary> ''' <param name="sourceDirName">コピーする

    フォルダをコピーする
    urza358
    urza358 2017/07/31
  • メニューにアイコンを表示する

    メニューにアイコンを表示するここでは、メニュー項目にアイコン(画像)を表示する方法を紹介します。MenuStripコントロールの場合と、MainMenuコントロールの場合に分けて説明します。 .NET Framework 2.0以降で、MenuStrip(またはContextMenuStrip)コントロールを使用している場合.NET Framework 2.0以降で、メニューにMenuStripコントロールやContextMenuStripコントロールを使用している場合はとても簡単です。メニュー項目のToolStripMenuItem.Imageプロパティに画像を設定して、ToolStripMenuItem.DisplayStyleプロパティを「ImageAndText」(または、「Image」)にするだけです。(DisplayStyleプロパティはデフォルトで「ImageAndText」

    メニューにアイコンを表示する
    urza358
    urza358 2016/07/27
  • 外部アプリケーションを起動して終了まで待機する

    外部アプリケーションを起動して終了まで待機するここでは、外部アプリケーションを起動して、そのアプリケーションが終了するまで待機する方法について説明します。なお外部アプリケーションを起動する方法は「外部アプリケーションを起動する、ファイルを関連付けられたソフトで開く」で説明していますので、そちらをご覧ください。 WaitForExitメソッドを使って同期的に待機するProcess.WaitForExitメソッドを使用することで、プロセスが終了するまで待機することができます。WaitForExitメソッドは同期的に待機するため、待機中はフリーズしたようになります。 以下の例では、"C:\test\1.txt"を開いた後、終了するまで待機しています。また、終了後、終了コードと終了時間を表示しています。 'ファイルを開いて終了まで待機する Dim p As System.Diagnostics.P

    外部アプリケーションを起動して終了まで待機する
    urza358
    urza358 2016/03/19
  • DOBON.NET .NET Tips - Drag&Drop(ドラッグ&ドロップ)を行う

    Drag&Dropを行うここではドラッグ&ドロップの例として、あるリストボックス内のアイテムをもう一つのリストボックスにドラッグ&ドロップにより移動させる方法を紹介します。 ドラッグ&ドロップの基まずは、ドロップを受け入れるリストボックスのAllowDropプロパティをTrueにしておきます。 実際にドラッグを開始するには、ドラッグされるアイテムのあるリストボックスのDoDragDropメソッドを呼び出します。ドロップを受け入れるリストボックスでは、リストボックス内にドラッグされた時にDragEnterイベントが発生しますので、ここでドロップを受け入れるか、受け入れるとしたらどのように受け入れるか(コピーか移動か等)を決定します。リストボックスにドロップされるとDragDropイベントが発生しますので、ここでドロップされたデータを取得し、リストボックスへデータを追加します。 次のコードで

    DOBON.NET .NET Tips - Drag&Drop(ドラッグ&ドロップ)を行う
    urza358
    urza358 2016/01/08
  • TraceやDebugのWriteメソッドでファイルに出力する

    TraceやDebugのWriteメソッドでファイルに出力するTraceクラスのWriteメソッド(または、WriteLine、WriteIf、WriteLineIfなどのメソッド)はデフォルトでは出力ウィンドウだけにメッセージを出力します。ここでは、これをファイルにも出力する方法を紹介します。 なお、後述しますが、ここで紹介している方法はDebugクラスのWriteメソッドでも有効です。 DefaultTraceListener.LogFileNameプロパティを使用する方法簡単な方法は、DefaultTraceListenerクラスのLogFileNameプロパティに出力ファイル名を指定する方法です。Trace.ListenersプロパティのコレクションにはデフォルトでDefaultTraceListenerオブジェクトが格納されているため(名前は"Default")、これを取得し、L

    TraceやDebugのWriteメソッドでファイルに出力する
    urza358
    urza358 2015/11/05
  • 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
    urza358
    urza358 2015/09/29
  • 自作クラスの演算子をオーバーロードする

    注意:ここで説明しているVB.NETのOperatorステートメントは、.NET Framework 2.0以降でのみ使用できます。 例えば、「1 + 1」のように2つの数字に二項+演算子を使うと、2つの数字を足した答えが得られます。文字列の場合は、2つの文字列が連結されます。このような演算子の動作を自作のクラス(あるいは構造体)に定義することもできます。 例えば、次のようなクラスがあるとします。

    自作クラスの演算子をオーバーロードする
    urza358
    urza358 2015/09/14
    ]
  • 起動時のコマンドライン引数を取得する

    起動時のコマンドライン引数を取得するここでは、アプリケーションを起動した時に指定されたコマンドライン引数を取得する方法について説明します。 なお「コマンドライン引数」とは、例えばアプリケーションの実行ファイルのパスが「C:\MyApp\app.exe」で、「C:\MyApp\app.exe /a /b /c」というコマンドラインを実行した時、「/a /b /c」がコマンドライン引数です。 Environment.CommandLine、GetCommandLineArgsを使用する方法アプリケーション起動時のコマンドライン引数をそのまま取得するには、Environment.CommandLineプロパティを使います。また、コマンドライン引数を半角スペースで分割した配列で取得するには、Environment.GetCommandLineArgsメソッドを使います。 CommandLineプロ

    起動時のコマンドライン引数を取得する
    urza358
    urza358 2015/08/04
  • Visual Studioでアプリケーションの設定を保存する

    Visual Studioでアプリケーションの設定を保存するVisual Studio 2005からは、アプリケーションの設定を保存、復元するための機能が追加されました。ここではこの機能の基的な事柄を紹介します。 なお、Visual Studioを使わずにここで紹介していることとほぼ同じことを行いたい場合は、「ApplicationSettingsBaseクラスを使って設定を保存する」をご覧ください(ただしそちらの記事をご覧になる前に、まずはここの記事に一度目を通して、この機能の概要を知っておいてください)。 さらに、.NET Frameworkのバージョンに依存しない方法については、「アプリケーションの設定を保存する」をご覧ください。 設定を作成するまずは、設定を作成します。 プロジェクトのプロパティを表示し(ソリューションエクスプローラでプロジェクトを右クリックして、コンテキストメニ

    Visual Studioでアプリケーションの設定を保存する
    urza358
    urza358 2015/07/27
  • 【C#】Refresh、Update、Invalidateメソッドの違い: .NET Tips: C#, VB.NET, Visual Studio

    Refresh、Update、Invalidateメソッドの違いControlクラスのRefresh、Update、Invalidateメソッドは主にコントロールを再描画するために使用されますが、これらの違いはヘルプを読んだだけでは非常に分かりにくいです。 ヘルプによると、これらのメソッドは次のように説明されています。 Refresh メソッド : 強制的に、コントロールがクライアント領域を無効化し、直後にそのコントロール自体とその子コントロールを再描画するようにします。Update メソッド : コントロールによって、クライアント領域内の無効化された領域が再描画されます。Invalidate メソッド : コントロールの特定の領域を無効にし、そのコントロールに描画メッセージを送信します。これらのメソッドが具体的に何を行っているのかを調べるには、「Reflector for .NET」のよ

    【C#】Refresh、Update、Invalidateメソッドの違い: .NET Tips: C#, VB.NET, Visual Studio
    urza358
    urza358 2015/06/23
  • 外部アプリケーションを起動する、ファイルを関連付けられたソフトで開く

    外部アプリケーションを起動する、ファイルを関連付けられたソフトで開くここでは、外部アプリケーションを実行ファイルを指定して起動する方法について説明します。また、ファイルを関連付けられたアプリケーションで開く方法についても説明します。 Process.Startメソッドを使用して、外部アプリケーションを起動させる外部アプリケーションを起動させるには、ProcessクラスのStartメソッドを使用します。使い方はとても簡単で、起動したいアプリケーションの実行ファイルのパスを指定してProcess.Startメソッドを呼び出すだけです。 下の例では、メモ帳を起動しています。

    外部アプリケーションを起動する、ファイルを関連付けられたソフトで開く
    urza358
    urza358 2014/05/22
  • アプリケーション開始時のフォームを非表示にする

    アプリケーション開始時のフォームを非表示にするここでは、アプリケーション開始時はフォームを作成せずに、条件によって作成、表示する方法を紹介します。なお、NotifyIconコンポーネントを使用してタスクトレイにアイコンを表示される場合などのように、フォームのインスタンスは作成してもフォームを表示させないでアプリケーションを開始する方法は「フォームを表示させずにトレイアイコンを表示する」で紹介します。 この方法は、MSDNの「フォームが開始時に非表示になるように設定する」で紹介されています。これは、エントリポイントのMainメソッドでメインフォームを表示するかを判断し、条件が満たされた時のみメインフォームを表示するという方法です。MSDNの例ではForm.ShowDialogメソッドでフォームを表示させていますが、通常はApplication.Runで表示させた方が良いでしょう。 メインフォ

    アプリケーション開始時のフォームを非表示にする
    urza358
    urza358 2012/10/01
  • 画像、文字列を無効状態で表示する

    画像を無効状態で表示するツールバーなどで使用できないボタンの画像は灰色で表示されますが、このように無効状態で画像を表示するには、ControlPaint.DrawImageDisabledメソッドを使います。しかし下の結果を見ていただければ分かるとおり、Windowsでよく見られる立体的な無効状態の画像とは違います。立体的な無効状態の画像を表示させる方法は、「.NETプログラミング研究」の第5号で紹介しています。 'Imports System.Drawing '描画先とするImageオブジェクトを作成する Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height) 'ImageオブジェクトのGraphicsオブジェクトを作成する Dim g As Graphics = Graphics.FromImage(canvas)

    画像、文字列を無効状態で表示する
  • DataGridView - .NET Tips (VB.NET,C#...)

    DataGridView編メニュー全般DataGridViewの現在のセルを取得、または変更する DataGridViewの指定したセルを編集できないようにする 条件に応じてセルを編集できないようにする DataGridViewの一番下の新しい行(新規行)を非表示にして、ユーザーが新しい行を追加できないようにする DataGridView内のある行が新しい行(新規行)か調べる DataGridViewの行をユーザーが削除できないようにする 条件に応じてユーザーが行を削除できないようにする 指定した列がDataGridViewに存在するか調べる DataGridViewの列や行を非表示、または削除する DataGridViewの列の幅や行の高さをユーザーが変更できないようにする DataGridViewの列の幅や行の高さを自動的に調整する DataGridViewの指定した列や行を固定してス

  • あるフォルダ以下にあるファイルをすべて取得する: .NET Tips: C#, VB.NET

    あるフォルダ以下にあるファイルをすべて取得する.NET Framework 2.0以降で、Directory.GetFilesメソッドのみを使う指定したフォルダ以下のすべてのファイルのパスを取得するには、Directory.GetFilesメソッド(System.IO名前空間)を使用します。GetFilesメソッドは3番目のパラメータを省略(あるいは、SearchOption.TopDirectoryOnlyを指定)すると、指定したフォルダにあるファイルしか取得せず、サブフォルダにあるファイルは取得しません。サブフォルダのファイルも含め、すべてのファイルを取得するには、3番目のパラメータにSearchOption.AllDirectoriesを指定します。 以下の例では、フォルダ"C:\test"以下にあるファイルのパスをすべて取得し、リストボックス(ListBox1)に表示しています。

    あるフォルダ以下にあるファイルをすべて取得する: .NET Tips: C#, VB.NET
    urza358
    urza358 2010/11/08
  • DataGridViewの列の幅や行の高さを自動的に調整する

    注意:DataGridViewコントロールは、.NET Framework 2.0で新しく追加されました。 ここではDataGridViewの列の幅や行の高さを、セルやヘッダーの内容に合わせて(通常はその内容がすべて表示されるように)自動的に調整する方法を紹介します。 内容が変更された時に自動的に調整されるようにする列の幅の自動調整DataGridViewの列の幅が自動的に調整されるようにするには、DataGridView.AutoSizeColumnsModeプロパティを使用します。 例えば、ヘッダーとすべてのセルの内容に合わせて列の幅と行の高さが自動調整されるようにするには、次のようにします。このようにすると、セルの内容が変更された場合でもその内容に合わせて自動調整されるようになります。

    DataGridViewの列の幅や行の高さを自動的に調整する
  • フォームを常に手前にする

    フォームを常に手前にするフォームのプロパティであるTopMostをTrueにすることにより、そのウィンドウを常に手前に表示することができます。解除するにはTopMostをFalseにします。 次の例は、フォーム上にボタンコントロールButton1があり、Button1がクリックされるたびに常に手前とその解除を交互に行うものです。

    フォームを常に手前にする
    urza358
    urza358 2010/11/03
  • コントロールの外観をXPスタイルにする: .NET Tips: C#, VB.NET, Visual Studio

    コントロールの外観をビジュアルスタイル(XPスタイル)にするここでは、下図のようにコントロールの見た目をWindows XP以降のビジュアルスタイル(Windows XP スタイル、Luna、Whistlerスタイル)に変える方法について説明します。また、Visual Studio 2005以降ではビジュアルスタイルがデフォルトで有効になっていますが、これを無効にする方法についても説明します。 なお、ビジュアルスタイルに対応していないOSや、設定でビジュアルスタイルを無効にしている場合は、ここで紹介している方法ではビジュアルスタイルになりません。 Visual Studio 2005以降のVB.NETで、Visual Basicアプリケーションモデルを使用する方法Visual Studio 2005以降のVB.NETを使用している場合は、次のような方法でビジュアルスタイルを有効(または無効

    コントロールの外観をXPスタイルにする: .NET Tips: C#, VB.NET, Visual Studio
  • DOBON.NET .NET Tips

    ここでは、Microsoft .NET Frameworkプログラミング(C#、VB.NET、Visual Studioなど)のTip(小技)を紹介しています(逆引き集のようなものです)。ソースコードやサンプルも多数公開しています。 .NET Tipsをご利用いただく際は、注意事項をお守りください。記事の評価一覧は、こちらで閲覧できます。をクリックすると、その記事を別のウィンドウに表示します。このウィンドウはひとつしか表示されませんので、複数の記事を連続してご覧になりたいときに便利です。が付いているリンクは、来は別のカテゴリに属している記事です。メールマガジン「.NETプログラミング研究」もあります。フォーム(System.Windows.Forms)コントロール(System.Windows.Forms)DataGridコントロール(System.Windows.Forms)DataG