Siete consejos de programación en C#
Una ventana minimizada
Al hacer clic en X o Alt+F, la ventana minimizada está protegida anulando void WndProc(ref Message m) {const int WM_SYSMAND = x const int SC_CLOSE = xF; ; if (m Msg == WM_SYSMAND && (int) m WParam == SC_CLOSE) { // El usuario hizo clic en el botón cerrar este WindowState = FormWindowState Minimizado } base WndProc(ref m); Cómo hacer que el bucle Foreach se ejecute más rápido. Foreach es una declaración lista para enumerar y procesar elementos en una colección. El uso se muestra en el siguiente ejemplo usando System Collections LoopTest { class Class { static; void Main(string[ ] args) { // crea una ArrayList de cadenas ArrayList array = new ArrayList(); array Add( Marty ); array Add( Bill ); foreach (elemento de cadena en matriz) { Console WriteLine(item); } } } } Puede usar la declaración foreach en cada colección que implemente la interfaz Ienumerable. Si desea saber más sobre el uso de foreach, puede ver C#. Especificación del lenguaje en la documentación del SDK de NET Framework
Durante la compilación, el editor de C# convertirá cada área IEnumerator = array GetEnumerator(); ¿intenta { string item; = (cadena) enumerador Actual; Consola WriteLine(item); } } ¿Finalmente? Código adicional para la sobrecarga del sistema
3. Guarde la imagen en un archivo XML en el archivo de recursos de WinForm. como propiedad Imagen de PictureBox en texto y guárdelo. Este es un ejemplo de implementación mediante serialización utilizando System Runtime Serialization Formatters Soap;
pFormatter f = new SoapFormatter(); Imagen img = Imagen FromFile( E:\\Image bmp ); CTRL V No hay forma de bloquear la acción de pegar del portapapeles CTRL V en el control TextBox en WinForm. Si necesita un cuadro de entrada pero no desea que el usuario pegue el contenido del portapapeles, puede usar el control RichTextBox en su lugar. bloquear la tecla CTRL V en KeyDown. Ejemplo p>
private void richTextBox _KeyDown(objeto remitente Sistema Windows Forms KeyEventArgs e){if(e Control && e KeyCode==Keys V) e Handled = true;}
Cinco archivos o carpetas de juicio ¿Existe? ¿Es muy sencillo verificar si un archivo existe usando System IO File? bool exist = System IO File Exists(fileName); Si necesita determinar si existe un directorio (carpeta), puede usar System IO Directory bool exist = System IO Directory Exists(folderName);
6. Utilice el tipo de delegado para diseñar eventos personalizados además de Método y. Propiedad en programación C#, cualquier Clase puede tener su propio evento (Evento). Definir y usar eventos personalizados. Los pasos son los siguientes ( ) ¿Declarar un tipo de delegado fuera de Clase para determinar la interfaz del programa de eventos? tipo de variable de evento dentro de Clase como el tipo de delegado definido en el paso anterior? ( ) Dentro de un método o propiedad ¿Se activa un evento en algún lugar ( ) ¿Utiliza el operador += para especificar el controlador de eventos en el programa Cliente? p> Ejemplo // Definir los parámetros del programa de eventos de restricción de tipo Delegate public delegado void MyEventHandler(object sender long lineNumber); public class DataImports { // Definir un nuevo evento NewLineRead public event MyEventHandler NewLineRead ; Public void ImportData() { long i; = ; // Parámetro de evento while() { i++ ; // Activar evento if( NewLineRead != null ) NewLineRead(this i) ; // } // } // }
// Lo siguiente es el código del cliente
private void CallMethod() { // No se requiere WithEvents para declarar variables de clase private DataImports _da = null // Especificar el controlador de eventos _da NewLineRead += new MyEventHandler(this DA_EnterNewLine) // El evento se activará al llamar al método de clase _da ImportData() } // Controlador de eventos priv;
comió void DA_EnterNewLine(objeto remitente long lineNumber){ //} lishixinzhi/Article/program/net/201311/15559