Red de conocimiento informático - Computadora portátil - C# Cómo abrir un formulario al hacer clic en un botón

C# Cómo abrir un formulario al hacer clic en un botón

1. El problema radica en esta declaración de asignación:

Form1 myForm = new Form4();?

myForm es una variable de tipo Form1, asigne una valor para él Si una instancia del tipo Form4 no tiene una operación de conversión de tipo correspondiente, se producirá un "error de clase que no se puede convertir implícitamente".

Método de corrección:

Form1 myForm = new Form1();

o

Form4 myForm = new Form4();

p>

2. Conversión de tipo C#:

C# no permite la asignación directa entre variables de diferentes tipos, pero este problema se puede resolver mediante la conversión de tipo.

Por ejemplo, conversión de tipos al asignar un valor de cadena a una variable entera:

int num = int.Parse("123");? int num1 = Convert.ToInt32(" 234") ;

Si Form1 y Form4 son tipos independientes en la pregunta, corríjalos como se indica arriba.

El caso especial es que si Form1 es la clase principal de Form4, esta situación se puede resolver mediante una conversión de tipo forzada.

Form1 myForm =?(Form1) new Form4();

Información ampliada:

En C#, puedes realizar los siguientes tipos de conversiones:

p>

1. Conversión implícita: dado que esta conversión es de tipo seguro y no causa pérdida de datos, no requiere ninguna sintaxis especial. Los ejemplos incluyen conversiones de tipos enteros más pequeños a tipos enteros más grandes y conversiones de clases derivadas a clases base.

2. Conversión explícita (conversión forzada): la conversión explícita requiere un operador de conversión forzada. • La conversión es necesaria cuando se puede perder información en la conversión o cuando la conversión puede no tener éxito por otros motivos. Los ejemplos típicos incluyen conversiones de valores numéricos a tipos menos precisos o más limitados y conversiones de instancias de clase base a clases derivadas.

3. Conversión definida por el usuario: se pueden definir algunos métodos especiales para realizar la conversión definida por el usuario, de modo que los tipos personalizados que no tienen una relación de clase base y clase derivada se puedan convertir explícita e implícitamente. ?Consulte Operadores de conversión para obtener más información.

4. Utilice clases auxiliares para la conversión: para convertir entre tipos incompatibles (como entre números enteros y objetos System.DateTime, o entre cadenas hexadecimales y matrices de bytes), puede utilizar la clase System.BitConverter. , la clase System.Convert y los métodos Parse de tipos numéricos integrados (por ejemplo, Int32.Parse).

Materiales de referencia:

Conversión de tipo microsoft.Docs C#