lunes, 1 de octubre de 2012

Chekbox en windows forms solo lectura

Enunciado

A diferencia de otros controles de Windows forms las checkbox no pueden marcarse como de solo lectura (readonly). Si utilizas la propiedad Enabled, pasan a un color gris claro que se ve mal, y no es modificable.

Solución:

Coloca las casillas dentro de un panel (por ejemplo panel1)
Importa la función WindowEnabled de user32.dll para poder deshabilitar eventos de ratón y teclado en ese panel.
Imports System.Runtime.InteropServices
Public Class Form1
    <DllImport("user32.dll")> _
    Private Shared Function EnableWindow(hWnd As IntPtr, bEnable As Boolean) As Boolean
    End Function

    Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        EnableWindow(Panel1.Handle, False)
    End Sub

No hay comentarios: