MASCARA CODIGO PRODUTO

 Tópico anterior Próximo tópico Novo tópico

MASCARA CODIGO PRODUTO

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#493675 - 28/04/2020 19:35:08

EDVALDORR
GUAPIARA
Cadast. em:Fevereiro/2013


Última edição em 28/04/2020 19:35:40 por EDVALDORR

tenho um cadastro de produtos que no codigo do item leva o codigo do grupo e do sub grupo.
tipo assim 99.55.0001 onde 99 o grupo, 55 o subgrupo e 0001 o item.
eu gostaria que ao selecionar o grupo e o subgrupo carregasse em um textbox ou maskedtextbox estas informaes
que ficaria assim 99.55.____ mas que o usuario conseguisse apenas digitar o complemento final e que o usuario no conseguisse apagar o codigo ja incluido,

se algum puder me ajudar por favor...




#493691 - 29/04/2020 14:52:13

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


No sei se funciona, no tenho como testar, mas talvez voc poderia tentar, quando o foco estiver na textbox usar o SelStart para posicionar no local que dever ser preenchido e para no apagar o grupo e subgrupo, tenta bloquear talvez
no evento TextChange da textbox, verificando se tiver 6 ou menos dgitos, bloquear a textbox para digitao.

____________________________________________________
No h nessa vida algo que no se possa alcanar, voc s precisa ir buscar.

#493867 - 19/05/2020 08:11:26

PEGUDO
RIO DE JANEIRO
Cadast. em:Março/2009


Última edição em 19/05/2020 08:13:55 por PEGUDO

Cara,
No seria mais jogo voc criar um Label que conteria os dados fixos e o TextBox com os dados a serem inseridos pelo usurio?
Exemplo:
Dim grupo As Integer = 99, subGrupo As Integer = 55

lblDadosFixos.TextAlign = MiddleRight []Alinhamento do texto da direita para a esquerda.
lblDadosFixos. text = String.Format([]{0}.{1}.[], grupo, subGrupo)


Assim nunca ser possvel que o usurio consiga alterar os dados do grupo e do subgrupo
Voc s precisar alinhar o Label e o TextBox para os dois ficarem lado a lado, mais ou menos como a ilustrao abaixo.

           ____________________________
99.55. |            TextBox                              |
           -----------------------------------------------

Às vezes, para poder andar pra frente, o homem deve deixar tudo para trás

#493869 - 19/05/2020 11:32:55

MOUSER
CARAPICUIBA
Cadast. em:Fevereiro/2014


O ideal fazer o que diz Pegudo. Criar uma label que ja carregue o Grupo e Subgrupo no []Text[] dele, depois usar uma variavel pra receber o []Text[] da label e da textbox.

Canal do Mouser


#493871 - 19/05/2020 12:35:57

FFCOUTO
COM LEVY GASPARIAN
Cadast. em:Março/2005


Use o controle MaskedTextbox e altere a propriedade Mask para []\9\9.\5\5.9999[].
Observe que o caracter \ funciona de forma a fixar o caracter seguinte. Assim, voc vai precisar montar uma funo para retornar a parte do grupo e subgrupo conforme formato acima.

Cursos de Excel e VB6:
cursoexcelvba.com.br


#493882 - 21/05/2020 05:57:37

PEGUDO
RIO DE JANEIRO
Cadast. em:Março/2009


Citação:
:
Use o controle MaskedTextbox e altere a propriedade Mask para []99..9999[].
Observe que o caracter  funciona de forma a fixar o caracter seguinte. Assim, voc vai precisar montar uma funo para retornar a parte do grupo e subgrupo conforme formato acima.

FFCOUTO, sua proposta interessantssima, mas ela acarreta uma coisa que eu no gosto muito: o usurio poder, ainda assim, []passear[] com o cursor pela parte fixa.
A no ser que a inteno do programa seja que o usurio possa copiar e colar o contedo da MaskdTextBox, eu utilizo o Label junto com TextBox.

Às vezes, para poder andar pra frente, o homem deve deixar tudo para trás

#493909 - 23/05/2020 10:53:52

PLUGSOFTSM
SANTA MARIA
Cadast. em:Julho/2015


A ideia do FFCOUTO a mesma que eu iria sugerir
Mas vendo o que o PEGUDO falou e vc quiser fugir disso eu faria o seguinte caso vc queira eliminar o aspecto de 2 componentes para o usurio
Colocaria a Label e o textbox dento de um componente, como um frame ou at sobre uma label vazia com borda e cor igual aos demais componentes da tela
Colocaria dentro desse componente a label e o textbox sem bordas e na cor desejada e posicionaria os mesmos de modo a dar a sensao visual de serem um unico componente
Isso resolveria teu problema e vc no precisaria gastar horas programando para monitorar isso

Uma vez, na poca do VB6 eu fiz algo assim
Eu usava uma chamada a dll para pegar a posio do cursor dentro do textbox
Se a posio fosse inferior ao comprimento da parte fixa, usava o selstart se no me engano, para jogar o cursor para a direita, para fora da parte fixa
Isso vai te dar uma baita mo de obra, pois vc vai ter que tratar o click do mouse
As teclas de navegao
E as combinaes de teclas,
O Ctrl X, o Ctrl V, o ctrl A e outras





#493912 - 23/05/2020 14:38:07

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Eu faria como o PLUGSOFTSM disse. Acho que uma maneira bem interessante


____________________________________________________
No h nessa vida algo que no se possa alcanar, voc s precisa ir buscar.

 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário