2016-04-11 12 views
-4

Veri ızgarası görünümüne bir düğme değeri nasıl gönderilir, veri ızgarası görünümü hücresi son odak ise, düğme değeri son odak hücresine gider.Düğme ile datagridview'e nasıl değer gönderilir?

void textBox_Enter(object sender, EventArgs e) { 
    lastFocused = (TextBox)sender; 
} 

private void btnone_Click(object sender, EventArgs e) { 
    if (lastFocused != null) { lastFocused.Text += "1"; 
} 

, sana lastFocused bir object olan değişken varsayarsak lastfocused hücresini

+0

Yapmaya çalıştığınız şeyi anlamak mümkün değil, en azından bazı kodları gösterebilirsiniz – Thorarins

+0

Bu, bir uygulama sorunu gibi geliyor ... Seçeneklerinizi, yapmak istediklerinizle düşünmelisiniz. yanlış. Sorgunuzu düzenlemeyi, ne yapmaya çalıştığınızı açıklamanızı öneririm, bu şekilde sonuca ulaşmak için daha iyi bir yol önerebiliriz. – Hexie

+1

@YvesLarock Orijinal sorunuzun kodunu ve ne denediğinizin açıklamasını düzenlemeniz gerekiyor, yorumu silmenizi ve ana soruya eklemenizi öneririm - tıklayabileceğiniz bir 'Düzenle' bağlantısı vardır. – Hexie

cevap

0

dataGridView bir değer geçirmesi istiyorum Sadece düğmeye tıklamadan metin kutusu lastfocus değer geçirerek gibi:

object lastfocused = null; 

ayarlayabilirsiniz DGV'nin CellEnter olayında. DataGridViewCell bir Control ama object doğrudan türetilmiş bir DataGridViewElement değil gibidir artık Control olamaz

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) 
{ 
    lastFocused = dataGridView1[e.ColumnIndex, e.RowIndex]; 
} 

Not. Bir Text özelliği olmadığı için Ve biz her zaman şimdi döküm gerekir: .. senin Button_Click çeşitli durumlar için test edebilirsiniz yılında

: Btw

if (lastFocused != null) 
{ 
    if (lastFocused is DataGridViewCell) { 
     ((DataGridViewCell)lastFocused).Value += "1"; 
    } 
    elseif (lastFocused is TextBox) { 
     ((TextBox)lastFocused).Text += "1"; 
    } 
} 
} 

: Buttons gerçekten yok gibi var ' Değerler 'birçok millet muhtemelen o kadar kafa karıştırıcı oldukları sorusunu buldular. Her zaman net olmaya çalışın ve sadece mevcut problemi değil, aynı zamanda kodunuzla elde etmek istediğiniz şeyleri de açıklayın!

+0

ve nasıl datagridview'de kullanıcı anahtarını geri al textbox 'int i = lastFocused.Text.Length; lastFocused.Text = lastFocused.Text.Substring (0, i - 1);' –

+0

Evet, hemen hemen aynı: 'if (lastFocused, DataGridViewCell'dir) {string s = ((DataGridViewCell) lastFocused) .Value.ToString(); ((DataGridViewCell) lastFocused) .Value = s.Substring (0, s.Length-1); } ' – TaW

İlgili konular