Hola Muchachos, vengo a ustedes para que me ayuden a decidirme...
Verán, no logro convencerme de que forma podría diseñar un form que forma parte de un sistema.
Mi intención es administrar usuarios, y agenda de contactos/clientela en un mismo form. ¿Porqué? Porque quisiera ahorrar en pantallas y porque la data es bastante básica.
Para el usuario solamente se necesita tener Nombre y una Clave que se genera de forma automática que no se puede modificar manualmente.
Para los contactos es lo típico: Nombre, Apellido, Dirección, Teléfono fijo y móvil.
Usuarios se espera un bajo número (es más, mayormente será uno, pero se necesita dejarlo abierto). La Agenda, que será compartida, irá creciendo a medida que llega clientela. Puede que sean 20, 50, 1000... no hay límite.
Tanto la modificación como eliminación ya sea de usuarios como de contactos son sucesos infrecuentes, (y contraproducentes... si no tienen los recaudos necesarios ya que se usan los usuarios y la agenda en buena parte del sistema).
Básicamente el usuario se limita mayormente a entradas... el resto el sistema trabaja prácticamente solo.
Encima, o afortunamente, estas entradas también pueden ser infrecuentes... no es un form que demande mucho uso. Puede que la parte de contactos se mueva más seguido. Aunque también cabe la posibilidad de que por ejemplo el usuario final arme su agenda con un listado de 20 personas de una y luego pasen semanas sin que necesite volver a "tocar". Además mi sistema tiene una vía automática de llenar algunos "tipos" de contactos, lo que le reduce el trabajo.
Como he dicho, es un sistema que casi se mantiene solo. Lo que más usará son otras cosas y que ya estuve viendo como encarar.
Lo de Bajas y Modificaciones me hace pensar en opciones que permitan ahorrar algo de espacio, y no mostrar tan "visualmente" o de forma llamativa esto. Una posibilidad que me tienta es la de diseñar una lista en la que se van a insertar frames a modo de items con la info.
Cada frame tendrá los edits necesarios y debajo de estos dos labels a modo de sencillos botones que diga "eliminar" y "modificar". Al presionar eliminar se marcará o resaltará el item de alguna forma que sugiera que está por eliminar, y en modificar habilita la edición y quedará marcado/resaltado en "modo edición". ¿Porqué lo pienso así? Pues, para dejarle una última posibilidad para deshacer o confirmar todos los cambios. Una manera bastante "ingeniosa" y algo llamativa para trabajar "en lote".
Las clases que trabajan por debajo de todo esto ya las tengo hechas, más es cosa de "presentación" lo que me no me termina de convencer.
Pensé inicialmente "separar" ambas cosas mediante un TPageControl... pero como que hoy ya es medio "mal visto" y al menos para el caso de los usuarios es como queda un buen espacio vacio.
La otra en que pienso es que pudiera aprovechar el form para pedir al usuario que seleccione con que desea trabajar y en base a eso habilitar edits para sus entradas (altas) y reaprovechar el espacio donde se presentará la lista para mostrar el listado de contactos o de usuarios según lo que se requiera.
Otra alternativa que he considerado es divir el form en 2: a la izquierda se trabaja con usuarios, y a la derecha con los contactos.
¿Que dicen ustedes? ¿Creen que para un usuario final se movería fácilmente en un form así? ¿O es mejor que cada cosa estuviera en su propio form? ¿Que les dice su experiencia?
Saludos,