Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - K1ll1ng M4ch1n3

#11
Cita de: raul338 en  2 Agosto 2010, 17:44 PM
Si no lo que puedes hacer es hacer algo asi como "controles de usuario" e instanciarlos en tiempo de ejecucion, mostrandolos uno tras otro. Otra es incrustrar formularios dentro de uno que sea padre :P es cuestion de imaginar e ingeniarselas, para eso somos programadores no ? :P

Con lo de los formularios padre te refieres a crear un MDI?
Gracias por las respuestas, me habéis ayudado bastante.
#12
Cita de: raul338 en  2 Agosto 2010, 16:12 PM
Cita de: K1ll1ng M4ch1n3 en  2 Agosto 2010, 15:57 PM
Esa era la otra solución, pero aparte de ser muy cutre, me parecía muy engorrosa porque si quiero ver en vista de diseño un contenedor que no está en "primer plano" por así decirlo, tengo que cambiar su posición y poner delante al que tengo por ahí escondido...

No hay ninguna solución mejor? Si no hay nada más, usaré lo que dice raul338, pero vamos... se me hace extraño que nadie más haya tenido el mismo problema

Nunca use un tabcontrol yo (un gran FAIL mio), pero he visto codigos así, contenedores uno al lado del otro que luego son posicionados uno encima de otro a travez de codigo (una vez vi como hacian un "asistente" usando paneles, exactamente de la misma forma) :P
No creas que habra alguna solucion mas "elegante" ya que todas hara lo mismo (que crees que hace el tab control :xD), si quieres hacerlo, ensuciate las manos :P

Bueno... vale, muchas gracias pues xD.
Pero lo de llenar el formulario con todos los contenedores no sería cargar en memoria demasiadas cosas? Quizás sería mejor para evitar ralentizar, hacer que se crearan y se eliminaran los controles sobre la marcha, o son paranoias mías?
Lo que voy a hacer por ahora es diseñarlo todo en distintos formularios y que haya unos botones arriba simulando las pestañas y que se habra un formulario y se cierre otro cada vez, y una vez que ya tenga el diseño completo y no tenga que ir tocándolo a todas horas, lo pasaré a los contenedores para que sea un poco más limpio.

Gracias de nuevo!!
#13
Cita de: D4N93R en  1 Agosto 2010, 23:59 PM
Nunca me ha fallado el TabControl.. además hace exactamente lo que describes con paneles y botones..

El TabControl era justo lo que necesitaba, pero bajaba el scroll y veía como se iban dibujando los textbox y luego al subir pasaba lo mismo... y un datagridview que tenía en otra pestaña también me lo ralentizó mucho...

Cita de: raul338 en  2 Agosto 2010, 00:28 AM
Cita de: K1ll1ng M4ch1n3 en  1 Agosto 2010, 20:38 PM
Entonces mi idea era dividir el contenido en distintos contenedores y poner arriba unos botones a modo de pestaña y que se muestre/oculte el contenedor que toque, pero me encuentro con el problema de que entonces, en la vista de diseño, tendría todos los contenedores unos encima de otros y no podría ver más que uno. Por otra parte, al estar cargando todo el contenido, podría ralentizar el programa.
Qué solución tiene esto?

Simple, separa los contenedores y ubicalos uno encima de otro en el form load :P

Esa era la otra solución, pero aparte de ser muy cutre, me parecía muy engorrosa porque si quiero ver en vista de diseño un contenedor que no está en "primer plano" por así decirlo, tengo que cambiar su posición y poner delante al que tengo por ahí escondido...

No hay ninguna solución mejor? Si no hay nada más, usaré lo que dice raul338, pero vamos... se me hace extraño que nadie más haya tenido el mismo problema
#14
Quiero separar el contenido del formulario en varias "pestañas", de forma que cada pestaña tiene una cosa distinta. Algo tipo Firefox o cualquier otro navegador. El problema es que si uso contenedores y se muestra únicamente el correspondiente a la pestaña que se quiere ver, como quiero que siempre los contenedores tengan la misma posición, al ponerlo uno encima de otro en la vista diseño, no puedo ver el que hay debajo y es muy incómodo tener que moverlo de sitio cada vez que quiero modificar otro contenedor.

Lo que quiero hacer es suplir la ausencia del controltab que me ha dado muchos problemas.

Espero haberme explicado mejor ahora.

Un saludo.
#15
Hola de nuevo!

Mi problema es el siguiente: tengo un formulario que quiero usar para distintas funciones y quiero dividirlo en pestañas o algo similar. Estuve usando un tiempo el tabcontrol, pero aparte de que me dificultaba bastante el manejo de los componentes en la vista diseño, no se pueden desactivar las pestañas y encima me ralentizaba muchísimo el contenido.
Entonces mi idea era dividir el contenido en distintos contenedores y poner arriba unos botones a modo de pestaña y que se muestre/oculte el contenedor que toque, pero me encuentro con el problema de que entonces, en la vista de diseño, tendría todos los contenedores unos encima de otros y no podría ver más que uno. Por otra parte, al estar cargando todo el contenido, podría ralentizar el programa.

Qué solución tiene esto? Hay algún otro componente de pestañas que funcione mejor o alguna forma de crear mis propias pestañas fácilmente?

Un saludo y gracias de antemano.
#16
Muchas gracias. He estado mirándolo y he encontrado un ejemplo por Internet, que adaptándolo a lo mío ha acabado siendo esto:

Imports System.Data
Imports System.Data.OleDb
Public Class Form1
    Private CnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Guillermo\Desktop\updateApp2\bin\Debug\basedatos2.mdb;Persist Security Info=True"
    'Function that returns a DataTable
    Public Function GetTable(ByVal query As String) As DataTable
        Dim Cn As New OleDbConnection(CnStr)
        Dim Adp As New OleDbDataAdapter(query, Cn)
        Dim Cmb As New OleDbCommandBuilder(Adp)

        Dim dt As New DataTable
        Adp.Fill(dt)
        Return dt
    End Function

    Dim bsEmp As BindingSource
    Dim Ds As New DataSet


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Populate datatables and add them to dataset
        Dim t1 As DataTable = GetTable("select * from listaEjercicios")
        t1.TableName = "listaEjercicios"

        Ds.Tables.Add(t1)

        'Create Binding source

        bsEmp = New BindingSource(Ds, "listaEjercicios")

        DataGridView1.DataSource = bsEmp

    End Sub
End Class


Creo que no es exactamente lo que me decíais. La cosa es que sigue yendo igual de lento. Es cosa de la base de la base de datos o es que el código que he usado sigue siendo una *****? Si hay alguna alternativa más rápida de base de datos sin servidor, estaría encantado de probarlo.

Muchas gracias.

Un saludo
#17
Perdón, cuando he dicho 5000 registros quería decir 5000 datos, registros son 150 ahora mismo, pero irá en aumento hasta los 300 dentro de poco.
También he puesto un filtro para hacerlo más cómodo, por supuesto, pero me interesaba poner una vista de todos los datos de forma simultánea más que nada para tener una vista de todo a la vez. Aunque es probable que acabe quitando esa vista.

Lo del dataadapter o reader... simplemente he creado el dataGridView y le he dado a añadir origen de datos y he puesto ahí la base de datos, sin escribir más código, o sea que funcionará de la manera más cutre posible y por ello se verá lento. De todas formas, access debería servir para lo que yo necesito.

Podéis pasarme algún enlace a ejemplos del dataadapter o al MSDN? Sé que suena un poco vago, pero es que estoy mirando por Google y como no lo he usado nunca, entre los ejemplos que veo no sé si lo que leo es realmente lo que estoy buscando.


Un saludo y muchas gracias por la atención
#18
Estoy haciendo un programa que tiene que leer una base de datos local hecha en access. La base de datos tiene en unos momentos unos 5000 registros. EL problema es la lentitud. Tienen que verse a la vez todos los registros de la base de datos y al ejecutar el programa se ve cómo se va cargando la base de datos, y al hacer scroll hacia abajo se ve cómo se van dibujando los registros, como si el refresco de pantalla fuera demasiado lento. La misma base de datos la abro desde access y puedo bajar rápidamente el scroll y se ve bien. Estoy usando el dataGridView enlazándole la base de datos.

Creo que no hay tantos registros como para justificar esta lentitud, ¿hay algún otro tipo de base de datos que se pueda usar de forma local y que vaya más rápido?¿Sería mejor programar una función propia en vez de usar el dataGridView sin más? La base de datos seguirá creciendo y probablemente dentro de poco se dupliquen los registros. He pensado en usar un archivo csv en vez de una base de datos, ¿sería esto más efectivo y permitiría seguir aumentando la cantidad de datos?

Un saludo y muchas gracias.
#19
Gracias ese tiene mejor pinta para lo que necesito.  Luego lo pruebo y ya os comentare si tengo alguna duda
#20
Habria alguna forma mas simple de hacerlo? Lo de leer la memoria se me hace un poco complicado...
Aunque sea alguna cosa un poco cutre, lo unico que necesito es que funcione para leer el valor de un campo de texto y copiar ese valor.

Saludos y gracias