PREGUNTAS CONTESTADAS - Visual Basic.NET

 Hay un total de 338 Preguntas.<<  >> 

    Pregunta:  40841 - CÓMO IMPRIMIR EL DISEÑO DE UN FORMULARIO
Autor:  Yolanda JM
En la versión 6.0 de Visual Basic, se podía imprimir directamente un formulario así como su código.
En .Net no está habilitado el cuadro de diálogo de Imprimir cuando te encuentras en el modo diseño de un formulario.
  Respuesta:  rebeca sanches
pues ralmente asi es como se escribiría en visual
  Respuesta:  vicente sanchez
espero que te sirva unsaludo


solo letras

If Char.IsNumber(e.KeyChar) = True Then
e.KeyChar = ""
End If


solo numeros
If Char.IsNumber(e.KeyChar) = False Then
e.KeyChar = ""
End If
  Respuesta:  Boule Mikhael Najm Bossio
Private Sub Form_Load()
PrintForm 'Print the Form Layout
End Sub

    Pregunta:  40961 - COMO PUEDO LLAMAR A OTRO FORMULARIO EN .NET'
Autor:  Enrique Ocaña
Mi problema es que en las versiones anteriores de VB con solo poner el nombre del formulario y el metodo SHOW (frm.show), se abria el formulario, pero ahora no... y por mas que le he buscado no he encontrado la forma... si alguein sabe por favor orienteme.
  Respuesta:  rudolf cruz lopez
pos intenta con esto a ver si te funciona si lo que quieres es mandar a llamar otro formulario a traves del evento de un boton lo que tienes que hacer es lo siguiente
jemplo: suponemos que tengo un formulario que se llama frmBienvenidos y esto lo quieres mostrar atraves del evento del boton entonces lo que hago es esto

vb:
Dim bienvenidos As New frmBienvenidos
bienvenidos.Show()

c#:

frmBienvenidos bienvenidos = New frmBienvenidos();
bienvenidos.Show();
  Respuesta:  erick geovanni alvarez samayoa
se pueden hacer de las 2 formas, el problema de crear una instancia , es que se va a abrir la forma , tantas veces manden a llamar la forma, en el caso que tengas un menu, si precionan el boton, muestra la forma , si vuelven a presionar el boton, vuelve a abrir otra forma, etc.

asi que simple, yo uso lo misma forma de vb

clientes.Show()
clientes.BringToFront() 'para que se posicione por encima de todos los formularios

saludos
  Respuesta:  jhony andres romero olivares
mira aver as esto una de las dos maneras seguro saldra:
nonbreformulario.show() --esta es una manera en visual.net
-otra manera es esta--instancia al formulario
dim variable as new nonbredeformulario
variable.show()
bueno esa son las maneras de llamar aun formulario en visul basic.net te lo digo yo que soy dos estrellas de microsotf
  Respuesta:  JESUS ARTURO BAUTISTA
Tambien puedes utilizar la clase My

My.Form.Mifolmulario.show
  Respuesta:  Jairo Cassiani R
has lo siguiente:

private sub frmprincipal ??? supongamos que este es el formulario desde el cual vas a llamar al otro. luego:
dim f as new nombre del formulario que deseas llamar()
f.show()
f.dispose() esta instruccion es opcional, pero es importante ya que te permite liberar recursos.
  Respuesta:  Raul Diaz
dim a as new "tuforma" (sin comillas)
a.show()
  Respuesta:  Abel Chingo
primero tienes que declara una variable que llame al formulario y luego recien puedes llams al metodo show
y si esta dentro de un mdi es un poco mas

por ejemplo
--sin mdi
Dim var as new frmventas
var.show()

--desde el mdi
Dim var as new frmventas
var.mdiparent=me
var.show()
  Respuesta:  DANIEL_PERLERA
mira mi fren...lo q sucede q en vn.net tienes q hacer una instancia primero del formulario q vas a mostrar....bueno te pongo codigo

aca he instanciado un form se llama FormExpediente
cheka muy bien la palabra New

Dim formEx As New FormExpediente()

ya q lo instancie lo puedo mostrar, esto sucede por q ahora todo en vb.net son clases, bueno leyendo un poco vas entender por q sucede esto..
es bueno usar los dos metodos...lee acerca de ellos
formEx.Show()

.show 'formulario no modal
.showDialog() 'fomulario modal

espero q te halla servido xD
  Respuesta:  Amelio Torres Osorio
Mira para mostrar un formulario en .NET se hace de la siguiente manera
Dim x as new frmAlumnos
x.show()
Se declara una variable tipo formulario y se manda amostrar
  Respuesta:  joan martinez
tienes que instanciar un objeto a la clase que quieras
en este caso por ejemplo,seria la clase form1,que es una clase heredada de la clase forms

Asi pues pondrias :
dim miformulario as new form2

(dim variable as new nombreclase)

luego en el codigo pondrias por ejemplo; miformulario.show()
Visual basic 6 como bien dices no hacia falta hacer esto pues hacia la instanciacion de objeto de forma oculta,aunque sobrecargaba los recursos porque instaciaba todos los objetos sin saber si ibamos a usar todos los formularios o no

De todas formas si no quieres instanciar cada vez un objeto de una clase form , en un modulo instancia todos los formularios que pertenezcan a tu aplicacion y te olvidas

module modulo1
public formulario1 as new form1()
public formulario2 as new form2()
....

end module
  Respuesta:  jhonny toledo vera
eso es facil es si la estructura
dim variable as new nombre del formulario
variable.show
ejem
dim f as new frmmantenimiento
f.show
  Respuesta:  Gonzalo Suarez
Para poder mostrtar un formulario primero lo tenes que dimecionar...

Dim MyForm as New MyForm

MyForm.show 'modal
MyForm.Showdialog ' no modal

Ahi te lo va a mostrar....
  Respuesta:  Toni Coll
Tienes que crear una nueva instancia del objeto.

Dim f As New Form1
f.Show()

f.ShowDialog() 'Equivale al Show vbModal en VB6

    Pregunta:  40984 - COMO SE DECLARA UNA VARIABLE GLOBAL EN UN MODULO EN VB .NET?
Autor:  Enrique Ocaña Valenzuela
NECESITO DECLARAR VARIABLES GLOBALES A TRAVES DE UN MODULO, PERO YA NO ME RECONOCE EL TIPO "GLOBAL", COMO SE HACE AHORA?
  Respuesta:  Narciso Ivan
Se declara PUBLIC VariableGlobal as String
  Respuesta:  Ivan Rosales
lo que puedes hacer para que todos tengan aceso al mismo valor es definir una variable (miembro) estatico en tu clase, esto permite que puedas ocupar la variable sin necesidad de instanciar la clase y de cualquier punto de tu aplicacion sera acesible, recuerda que las declaraciones de objetos tienen un ambito, por ende la declaracion de este debe hacerlo fuera de cualquier procedimiento para evitar que se pierda la referencia y GC (Garbage Collector) recicle la memoria utilizada.

Espero que te sirva.
  Respuesta:  Augusto Casano
Debes declarar la variable como public dentro de un modulo por ejemplo. Saludos.
  Respuesta:  Omar Noe Mercado
para poder enlazar formularios lo que debes ahacer es declarar una variable y asignarle el nombre del formulario luego escribir el nombre de la variable y el .show como se indica

dim {variable} as new {formulario}
variable.show
  Respuesta:  Kaddul
Saludos!!!

No existen variables globales en lenguajes orientado a objetos, si necesitas variables para todo tu proyecto, creas una clase

Class Datos{
public string Dato1;
private string sDato2;

public string Dato2{
get{
return sDato2;
}
set{
sDato2 = value;
}
}
}
  Respuesta:  Tonatihu Diaz Alegria
Ámbito del Modulo y de Procedimiento.-

Mira para declarar una variable como Global y con la desaparición de este modificador cuentas con 3 opciones para declarar una variable en un módulo:

Public.- Una variable delclarada en la seccion de declaraciones de un modulo Standard utilizando el modificador de acceso Public es visible no solo en el proyecto en el que está declarada, sino que es también visible desde cualquier otro proyecto externo que haga referencia al prmero.

Private.- No creo que sea necesario insistir...

Friend.- Una variable declarada en la seccion de declaraciones de un módulo Standard utilizando el modificador de acceso Friend es visible en todo el proyecto, por lo que tiene un ámbito de proyecto, sin embargo no es visible en otro proyecto y tendrías que utilizar Public.

Ejemplo:

Public Module Module1
Public iModulePublic As integer
Friend iModuleFriend As Integer
Ennd Module

Que tengas suerte y felicidades por la Migración a .NET

    Pregunta:  41174 - INSTALARADORES DE VISUAL BASIC .NET
Autor:  Felix Quintero Flores
Saludos a todos....

Me gustaria que me pudiesen facilitar una direccion en donde yo pueda descargar los Intaladores de Visual Basic .NET framework...se los agradezco de antemano...Gracias

Por que necesito ya empezar a utilizarlo...soy Programador en Visual Basic 6.0...ustedes ya comprenderan por que...
  Respuesta:  Sebastian Montes
Hola, creo que no le entendieron, pero yo sí. No soy muy experto, pero descubri que Microsoft está regalando el VB 2005. En sí no es un regalo, pero lo puede disfrutar gratis por un año.
1. Tiene que ir a esta dirección en internet:
https://msdn.microsoft.com/vstudio/express/support/install/
2. Luego, va a ver una lista de instaladores que toca descargar, son gigantes, yo los tengo, pero ni idea como enviárselos son de más de 400 MB.
3. Despues de descargarlo lo puede instalar con las instrucciones que da esa misma página web.

NOTA: No puede hacer programas con fin comercial, o sí pero con un certificado especial.
Mejor dicho, vaya a esa dirección, mire si le sirve, y ahí mismo busque como obtener la licencia para programar con fines comerciales, pues yo lo tengo es para aprender.
  Respuesta:  Matias Wald
Estimado Felix,

Si eres un programador VB6, te recomiendo que uses Visual Studio .NET. Utilizando Visual Studio es una manera RAPIDA y eficiente de crear instaladores para cualquier tipo de aplicacion. Si deseas conocer como crear este tipo de proyectos, visita msdn.microsoft.com donde encontraras articulos sobre el tema.

Siempre a tu orden.

    Pregunta:  41352 - COMO HAGO QUE UN TEXTBOX ACEPTE SOLO CIERTOS CARACTERES???
Autor:  Julio Ochoa
En Visual Basic 6.0 bastaba con que en el evento KeyPress se le asignara cero al parametro KeyAscii para evitar que el caracter pulsado se visualizara.

En Visual Basec .NET Existe 'KeyChar' sin embarque es Read Only.

Espero que alguien pueda ayudarme a resolver esto.

De antemano Mil gracias.
  Respuesta:  Diego Carrillo
Julio mira, en NET es sencillo:

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If IsNumeric(e.KeyChar) Or Asc(e.KeyChar) = 13 Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 32 Or Asc(e.KeyChar) = 46 Then 'Validamos si la tecla pulsada es numerica (1,2,3,4,5,6,7,8,9,0) o enter, o barra espaciadora, o retroceso
e.Handled = False 'El manejador de texto del textbox 1 permite entrar caracteres
else
e.Handled= True 'El manejador de texto del textbox1 no permite escrir
End if
End sub
  Respuesta:  Jose Luis Castillo
bueno solo se se escribe este codigo en la caja de texto en el evento Keypress:

if asc(e.keychar) = (Aqui,pones,los,caracteres,q,no,deseas,aceptar) then
msgbox(Aqui pones el mensaje q deseas q salga si se presiona el
caracter no deseado)
e.Handled = True
'esto se pone para q el caracter se borre
end if

claro q para hacerlo mas corto podrias ayudarte con un for o el poular select case.

bueno espero haberte ayudado
  Respuesta:  Julio César Ochoa
Para invalidar el efecto de las teclas precionadas en los eventos KeyPress solo debes utilizar e.Handled y asignarle el valor True.

Esto tiene la misma funcion que KeyAscii = 0 en Versiones anteriores de Visual Basic.

    Pregunta:  41439 - COMO HAGO QUE UN TEXTBOX ACEPTE SOLO NUMEROS?
Autor:  Enrique Vargas
El textbox, solo debe de aceptar numeros, Gracias.
  Respuesta:  Martin Julian Diaz Diaz
Solo tienes que hacer esto en el evento keypress del textbox1

select case keyascii
case chr(8)
e.handled = false
case chr(48) to chr(57)
e.handled = false
case else
e.handled = true
end select

jaja asi de facil
no me acuerdo muy bien pero si no funciona cambia los false por true y los true por false ok
  Respuesta:  angeles Mendez
Para que el textbox acepte solo numeros debes de programar en el evento keypress de la caja y poner el siguiente codigo, mi textbox se llama TxtTelefono cuando introduces letras te manda un mensaje de error,

Private Sub TxtTelefono_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtTelefono.KeyPress

If Char.IsLetter(e.KeyChar) Then' verifica si son numeros
MessageBox.Show("Solo se aceptan numeros", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)'manda mensaje de error si son letras
e.Handled = True
Me.TxtTelefono.Focus()'regresa el cursor a textbox para escribir de nuevo
End If

End Sub

espero y te ayude en algo
  Respuesta:  cristofer robles
solo con la funcion isnumeric()
puede ser
controlado por un if

if isnumerc(textbox1.text) then
else
messagebox.show("solo ingrese numeros")
textbox1.clear()
textbox1.focus()
end if
  Respuesta:  Jacob Mellado Toledo
En el evento KeyPress

If Not (Char.IsControl(e.KeyChar()) Or Char.IsDigit(e.KeyChar())) Then
e.Handled = True
End If

e.Handled = True : le dice al evento que ya se tomó la acción adecuada
  Respuesta:  eider mauricio aristizabal erazo
puedes utilizar una expresion regular
en la propiedad control tovalidate escoge la caja de texto a validar
y utilizas esta expresion [0-9.,]* que significa que acepte solo digitos de 0 a 9 con punto o coma
  Respuesta:  Ronny Delgado
Que te parece una funcion en una clase que diga algo asi:
(Ejemplo clase Validacion)

Public Function SoloNumeros(ByVal dato As Char) As Boolean
Dim manejo As Boolean = True
If (Asc(dato) = 8) Or (Asc(dato) = 46) Then 'Si es BackSpace o punto los permite
manejo = False
Else
If IsNumeric(dato) Then
manejo = False
End If
End If
Return manejo
End Function

y en el evento keypress del textbox en el Form le pones:

e.Handled = objValidacion.SoloNumeros(e.KeyChar)

Esto es sencillo. Si le ponemos la propiedad Handled a True le estamos diciendo a VB que nosotros vamos a "manejar" el evento, por lo cual VB no "hace nada", si le pones el Handled en False (que es el que tiene por defecto), VB si se encarga de "manejar" lo que suceda en ese evento.

    Pregunta:  41460 - ABRIR UN CORREO NUEVO CON DATOS DESDE VISUAL BASIC.
Autor:  Alex Valera
Hola amigos, mi consulta es la siguiente:

Necesitaria alguna forma de abrir el Outlook Express con un email nuevo y pasarle las direcciones, texto y fichero adjunto desde una aplicación que estoy realizando en Visual Basic.

Gracias.
  Respuesta:  Edgar González
Hola

Si te entedí bien, tu quieres enviar un correo desde tu aplicación en VB.NET, si es asi no necesitas abrir el outlook... Usa la clase System.Web.Mail.MailMessage, en esta clase tienes todo lo que necesitas para crear un nuevo mail, luego de que lo hayas creado haces una llamada a System.Web.Mail.SmtpMail.Send(mail) y listo.

Espero haberte ayudado

    Pregunta:  41525 - CONTROL DE PROPIEDADES DESDE OTROS FORMS
Autor:  Enrique Lara
Necesito saber como en VB.Net se pueden modificar las propiedades de un control (p.e. TEXT1.Text del FORM1 que está activado) desde otro formulario que tambien lo está.
Por ejemplo, como se puede con el evento mousemove de un buttom que está en un formulario hijo, cambiar la propiedad Text de un panel en el Statusbar del formulario padre. En VB6 era tan sencillo como:
MDIForm!StatusBar1.Panels(2).Text = "TEXTO"

Todo esto que planteo, tambien es aplicable en el caso de acceder a las propiedades de un control que está en un formulario desde una clase o modulo de código.
  Respuesta:  Julio Ochoa
El ejemplo es el siguiente:
Tienes FORM1 y FORM2. En FORM1 tienes TEXTBOX1 y en FORM2 tienes BOTON1

Cuando activas FORM2, digamos desde FORM1 lo haces de la siguiente forma

Dim frm2 as NEW FORM2
frm2.Show

Ahora bien, lo que tienes que hacer es:
Definir en FORM2 una variable publica de tipo TEXTBOX

Public txt as TEXTBOX

Despues, antes de mandar llamar a FORM2 tienes que asignarle TEXTBOX1 a la variable txt que definiste en FORM2. Esto quedaria de la siguiente manera:

Dim frm2 as NEW FORM2

frm2.txt = TEXTBOX1
frm2.Show

Despues, cuando quieras modificar las propiedades de TEXTBOX1 desde FORM2 solo te refieres a ella como txt (que es la variable que definiste en FORM2 y a la que le asisgnaste el objeto que deseas manipular). Por ejemplo

txt.Text = "Hola Julio Ochoa"

Y eso es todo. (Fonciona de la misma manera para cualquier objeto)
Recuerda que las aplicaciones en .NET ya no trabajan con los objetos en si, sino con instancias de los mismos.

Espero que esta informacion te sirva. Se que no soy bueno para explicar asi que si tienes alguna duda solo mandame un correo.

    Pregunta:  41656 - IMPRIMIR DESDE VISUAL.NET
Autor:  Miguel Beltrán Soto
Quiero imprimir desde visual.net a una impresora generic only / text , intente usar el printdocument pero me marca error solo en estas impresoras.. Como ´puedo solucionar este problema??
  Respuesta:  Carlos M. Castillo Umanzor
prueba con (la segunda funcion la encontré en la documentación de dot Net, la primera fue una adaptacion para que imprimiera directamente un file):

Dim printFontType As Font
Dim strReader As StreamReader
Dim myCadena As String

Public Sub PrintDoc(ByVal NombreArchivo As String)
Dim cadRuta As String

Try
cadRuta = Application.StartupPath & "\OUTPUT"
strReader = New StreamReader(cadRuta & "\" & NombreArchivo)

Try
printFontType = New Font("Arial", 8)
Dim pd As New PrintDocument
AddHandler pd.PrintPage, AddressOf pd_PrintPage
pd.Print()
Finally
strReader.Close()
End Try

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

End Sub

Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs)
Dim linesPerPage As Single = 0
Dim yPos As Single = 0
Dim count As Integer = 0
Dim leftMargin As Single = ev.MarginBounds.Left
Dim topMargin As Single = ev.MarginBounds.Top
Dim line As String = Nothing

' Calculate the number of lines per page.
linesPerPage = ev.MarginBounds.Height / printFontType.GetHeight(ev.Graphics)

' Iterate over the file, printing each line.
While count < linesPerPage
line = strReader.ReadLine()
If line Is Nothing Then
Exit While
End If
yPos = topMargin + count * printFontType.GetHeight(ev.Graphics)
ev.Graphics.DrawString(line, printFontType, Brushes.Black, leftMargin, _
yPos, New StringFormat)
count += 1
End While

' If more lines exist, print another page.
If Not (line Is Nothing) Then
ev.HasMorePages = True
Else
ev.HasMorePages = False
End If
End Sub

    Pregunta:  41741 - NO PUEDO CORRER EJECUTABLE DE VB.NET
Autor:  Pablo M Aguirre
Tengo una pregunta que quisiera plantearles:

-He generado un archivo ejecutable en VB.NET, pero al querer correrlo en otra PC distinta a la que usé para generarlo me aparece un mensaje de error diciendo:

".NET Framework Initialization Error. Please set registry key HKLM\Software\Microsoft\.NETFramework\InstallRoot to point to the .NET Framework install location"

Cabe mencionar que en la PC en la que quiereo correr mi ejecutable no se encuentra instalado VB.NET

¿Será que se requiere tener instalado VB.NET para correr los ejecutables generados en VB.NET?

Gracias de antemano por sus comentarios.
  Respuesta:  Kike Fernandez
Hola, Pablo.
Es un problema muy común, ya que vb hace programas en .NET para ejecutarlos en otro ordenador, simplemente ve a esta página:

http://www.microsoft.com/downloads/es-es/details.aspx?FamilyID=0A391ABD-25C1-4FC0-919F-B21F31AB88B7

Descarga el archivo, es el .Net Framework 4.0 instalalo en el PC donde vayas a ejecutar tu aplicaión y despues ejecutala.
Ya funcionará.
Adios.
  Respuesta:  PEDRO SOLIS
No es necesario que instales VB.NET

Lo unico que tienes que hacer es crear la instalacion de tu sistema e instalarla en la otra maquina.
  Respuesta:  Ronney Aragundi
Es verdad que debes tener el Framework pero a la hora que creas el ejecutable te dice si quieres con todos los componentes y en ese caso debes crearlo asi junto. ESto te evita que cuando lo instalas en otra maquina tienes que ponerles los componentes de interpretacion el los se bajan junto con el progama que creaste...
  Respuesta:  Eider Mauricio Aristizabal Erazo
Es necesario el framework para aplicaciones desarrolladas en VS 2003 es necesario el framework 1.0 para aplicaciones en vs 2005 el framework 2.0 o 3.0

visita este link para descargarlo

si no se inicia la descarga, visita este
  Respuesta:  Gonzalo Suarez
Es un problema de seguridad-

En la maquina donde queres correrlo tiene que tener instalado el net framework y tenes que habilitarle la opcion de ejecucionen una intranet.

Para eso tenes que ir al panel de control - Herramientas administrativas - Asistentes de Microsoft .NET Framework

Ajustar la seguridad - Cambios en este equipo
Hacer un click en Intranet local y subirle la seguridad a Plena confianza

Espero que te sirva.
  Respuesta:  daniel vidal rodriguez
Para poder correr el ejecutable tienes que instalar Framework en la maquina donde quieres correr el ejecutable sin nececidad de instalar Visual Net
  Respuesta:  Pedro Herrarte
Cuando compilar VB .net , al igual que cualquier otro lenguaje .NET, no estas creando un "ejecutable" real, sino que estas generando código MSIL. Luego ese código debe ser interpretado de manera muy parecida a lo que hace Java y el Bytecode.
Para poder ejecutar el código MSIL es necesario tener instalado el .NET framework. Si en la máquina en la que vamos a ejecutar el compilado de VB.net no esta el ,NET framework no funcionará nunca.
Saludos
  Respuesta:  Edgar González
Hola

No se si ya resolviste tu problema... lo que si necesitas tener instalado en la maquina donde vas a ejecutar tu programa es el .NET Framework, a lo mejor ese es el problema que tienes...

Saludos
  Respuesta:  Miguel Beltrán Soto
No es necesario que instales VB.NET

Lo unico que tienes que hacer es crear la instalacion de tu sistema e instalarla en la otra maquina.

|<  <<  1 2 3 4 5 6 7 8 9 10 11  >>  >|