2016-08-21 5 views
1

私はC#で書かれたWinformsアプリケーションを持っています。C#DataGridViewユーザーがCell(Read Only)の値を変更したときにキャッチするイベント

DataGridViewでは、「名前」という列(DataGridViewTextBoxColumn)がReadOnly = trueに設定されています。

ユーザーが '名前'列のセルを右クリックすると、値を設定するフォームを表示します。>アプリケーションに「名前」列のセルの値が変更されました。私は多くのイベントを試してみましたが、このようなCellEndEditとして、行うことはできません

は、私が「計画」の列にデータへのユーザーの変更をキャッチで唯一興味

をCellValueChangedどこのReadOnly = trueを。

これはどのイベントに最適ですか? Iは以下のように情報を添付:ユーザーが手動のDataGridViewの内容を変更したとき

Image Description

Source Code

+0

は、次の行を追加しますか? –

+0

ユーザーはフォームを変更します。私は写真の説明とソースコードを追加しました。確認してください!ありがとうございました! – MinhKiyo

+0

[OK]ボタンをクリックした後のテキストボックスの値とセルの値を比較します。 –

答えて

0

CellEndEditCellValueChanged特性のみ働きます。あなたがしなければならないのは、Set_Value_Of_NameフォームのTextBoxの値を読み取り、それをDataGridViewセルの値と比較することです。それは読み取り専用だ場合、どのようにそれはユーザが変更することができ、私は本当にあなたを得ることはありません

btnOK.Click += (senderq, eq) => 
{ 
    frmValueOfName.Close(); 
    result = true; 

    //Add this line 
    if (txtValue.Text != dataGridView[currentMouseOverCol,currentMouseOverRow].Value.ToString()) 
    { 
     MessageBox.Show("Value has been changed!"); 
    } 
}; 
+0

メインフォームでは、イベントは何を使用しますか? – MinhKiyo

+0

私のコメントを編集しました。チェックアウトしてください。 –

+0

ありがとうございました!私は試してみます – MinhKiyo

関連する問題