Debo aclarar que este codigo me tira el error: [C# Error] CuentasAltas.cs(271): 'Bancos_CSharp.ChequearTipo' does not contain a definition for 'NroEnteroKeyPress'
Esto debe ser porque frmCuentasAltas no conoce la definicion del metodo NroEnteroKeyPress que se encuentra definido en la clase ChequearTipo, es por esto que tengo la confusion.
Me gustaria saber si esta bien la manera de resolver el problema o tendria que probar de otra menera tal vez sin usar una interfase, desde ya muchas gracias.
csharp
public interface IChequearTipo { void NroEnteroKeyPress(Object sender, KeyPressEventArgs e); void NroEnteroKeyDown(Object sender, KeyEventArgs e); }
csharp
public class ChequearTipo : IChequearTipo { public ChequearTipo() { // // TODO: Add constructor logic here // } private bool noEsNumero = false; void IChequearTipo.NroEnteroKeyPress(Object sender, KeyPressEventArgs e) { if (noEsNumero == true) { e.Handled = true; } } void IChequearTipo.NroEnteroKeyDown(Object sender, KeyEventArgs e) { noEsNumero = false; if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9) { if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9) { if (e.KeyCode != Keys.Back) { noEsNumero = true; } } } }
en la forma frmCuentasAltas, lo llamo asi:
csharp
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { IChequearTipo ICheqT = ctkp; ctkp.NroEnteroKeyPress(sender, e); }