DataGridViewでのクリップボードへのコピー
[ 2010.12.24 ] by King | Categories:.NET
DataGridViewでのクリップボードへのコピーの動作において、
セルを編集している状態の時は選択しているテキストをコピーし、
セルを編集していない状態の時は選択行ごとコピーする場合、
以下の方法で実現できたので紹介します。
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is DataGridViewTextBoxEditingControl)
{
dataGridView.ClipboardCopyMode = DataGridViewClipboardCopyMode.Disable;
//編集のために表示されているコントロールを取得
DataGridViewTextBoxEditingControl tb = (DataGridViewTextBoxEditingControl)e.Control;
//イベントハンドラを削除
tb.Validated -= new EventHandler(dataGridViewTextBox_Validated);
// イベントハンドラを追加
tb.Validated += new EventHandler(dataGridViewTextBox_Validated);
}
}
private void dataGridViewTextBox_Validated(object sender, EventArgs e)
{
dataGridView.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
}














最近のコメント