C#
snippet
textbox

[C#] テキストボックスのCtrl-A

//参考
//    テキストボックスで CTRL+A を有効にする - BiBoLoG
//    http://d.hatena.ne.jp/Guernsey/20081016/1224135096
//テキストボックスのCtrl-A (改)
protected override bool ProcessDialogKey(Keys keyData)
{
    switch (keyData)
    {
        case Keys.A | Keys.Control:
            Control c = GetRealActiveControl(this);
            if (c is TextBox)
            {
                TextBox txt = (TextBox)c;
                txt.SelectionStart = 0;
                txt.SelectionLength = txt.Text.Length;
                return true;
            }
            break;
        //このほかにもショートカットキーなどをここに記述できる
    }
    return base.ProcessDialogKey(keyData);
}

//参考
//    現在アクティブな(選択されている、フォーカスのある)コントロールを取得する、指定したコントロールをアクティブにする .NET Tips C#, VB.NET
//    http://dobon.net/vb/dotnet/control/selectcontrol.html
/// <summary>
/// アクティブコントロールを取得する
/// </summary>
/// <param name="parentControl">
/// アクティブコントロールを探す元のコンテナコントロール
/// </param>
/// <returns>アクティブコントロール</returns>
/// <example>
/// 自分自身のフォームのアクティブコントロールを取得する例
/// <code>
/// Control c = GetRealActiveControl(this);
/// </code>
/// </example>
public static Control GetRealActiveControl(ContainerControl parentControl)
{
    //ActiveControlプロパティを取得
    Control ac = parentControl.ActiveControl;
    //ActiveControlがNULLの時は、コンテナコントロールを返す
    if (ac == null)
    {
        return parentControl;
    }
    //ActiveControlがコンテナコントロールの場合は、さらにActiveControlを取得
    if (ac is ContainerControl)
    {
        return GetRealActiveControl((ContainerControl)ac);
    }
    return ac;
}