Array
(
)

Componente teclado virtual

Ricardo Paixao
|
MVP
    09 out 2012

Ola pessoal blz.!?
Estou fazendo o meu primeiro componente em vs2008, entao eu criei uma solution e dentro da mesma 2 projetos.
1 vkeyboard
2 forceSales
No vkeyboard eu coloquei um teclado com 11 botoes 1..0 e L, usei o USER CONTROL criei meu design e o mesmo aparece la como componente, consigo jogar o meu teclado na minha aplicacao forceSales tudo blz, porem nao consigo passar as informacoes do teclado para o textbox abaixo segue os codigos.. se alguem puder me dar uma força ai.. pois como disse sou novo nesta ferramenta/linguagem.. grato.
vkeyboard---------------------------------------------------
namespace V_Keyboard
{
public partial class VKeyboard : UserControl
{
public delegate void KeyToTxt(string s);
public event KeyToTxt VKey;
public VKeyboard()
{
InitializeComponent();
}
private void AddToArray(Button bttn)
{
try
{
VKey(bttn.Text); <<< --------------- AQUI EU TENHO UM ERRO DE NULLREFERENCE
}
catch (Exception x)
{
MessageBox.Show(x.Message);
}
}
private void cmd1_Click(object sender, EventArgs e)
{
AddToArray(cmd1);
}
private void cmd2_Click(object sender, EventArgs e)
{
AddToArray(cmd2);
}
...
}
ForceSales -----------------------------------------------------------------
private void txtQtd_GotFocus(object sender, EventArgs e)
{
VKeyboard teclado = new VKeyboard();
teclado.VKey += new VKeyboard.KeyToTxt(key);
}
void key(string s)
{
txtQtd.Text += s;
}

Joel Rodrigues
   - 09 out 2012

Provavelmente o objeto bttn não está sendo passado corretamente. Teria como você disponibilizar o projeto?

Ricardo Paixao
|
MVP
    09 out 2012

blz... eu coloquei neste link os fontes do componente

http://www.4shared.com/rar/d66bK552/V-Keyboard.html

Ricardo Paixao
|
MVP
    10 out 2012

segue todo o fonte

a chamada de um form

private void txtQtd_GotFocus(object sender, EventArgs e)
{
VKeyboard teclado = new VKeyboard();
teclado.VKey += new VKeyboard.KeyToTxt(key);
}

void key(string s)
{
txtQtd.Text += s;
}

FONTES DO COMPONENTE

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

using System.Collections;
using System.IO;

namespace V_Keyboard
{
public partial class VKeyboard : UserControl
{
public delegate void KeyToTxt(string s);
public event KeyToTxt VKey;

public VKeyboard()
{
InitializeComponent();
}

private void AddToArray(Button bttn)
{
VKey(bttn.Text);
}

private void cmd1_Click(object sender, EventArgs e)
{
AddToArray(cmd1);
}

private void cmd2_Click(object sender, EventArgs e)
{
AddToArray(cmd2);
}

private void cmd3_Click(object sender, EventArgs e)
{
AddToArray(cmd3);
}

private void cmd4_Click(object sender, EventArgs e)
{
AddToArray(cmd4);
}

private void cmd5_Click(object sender, EventArgs e)
{
AddToArray(cmd5);
}

private void cmd6_Click(object sender, EventArgs e)
{
AddToArray(cmd6);
}

private void cmd7_Click(object sender, EventArgs e)
{
AddToArray(cmd7);
}

private void cmd8_Click(object sender, EventArgs e)
{
AddToArray(cmd8);
}

private void cmd9_Click(object sender, EventArgs e)
{
AddToArray(cmd9);
}

private void cmd0_Click(object sender, EventArgs e)
{
AddToArray(cmd0);
}

private void cmdV_Click(object sender, EventArgs e)
{
AddToArray(cmdV);
}

private void cmdL_Click(object sender, EventArgs e)
{
AddToArray(cmdL);
}

private void VKeyboard_Click(object sender, EventArgs e)
{

}
}
}