Design efficiente registro utente evento interattivo in modo che non supererà il mio limite oggetto 10000 utente.

StackOverflow https://stackoverflow.com/questions/4770130

  •  22-10-2019
  •  | 
  •  

Domanda

Ho un problema: nella mia applicazione ho un po 'informazioni di evento-correlate, così per caso x dovrei ottenere una finestra di forma in cui faccio una sorta di cose (inserire un testo e fare clic su un pulsante)

Il mio problema è che per la mia domanda v'è un utente di 10.000 oggetti limite (come per tutte le applicazioni C #), e per la mia codice esistente ci sono già 3000 gli oggetti utente occupati (in modo che le foglie intorno al 7000 utente oggetti liberi). Ricevo da 200 clienti informazioni sugli eventi riguardanti alcune cose in corso su ciascuno dei clienti.

Quando ricevo informazioni su un evento da un client vorrei visualizzare in qualche modo questo come un marchio in una finestra log degli eventi e quando clicco sull'etichetta finestra forma specifica (che ho già detto in precedenza) dovrebbe pop-up in modo da che io possa inserire del testo e fare clic su un pulsante.

Ho bisogno di essere in grado di visualizzare la finestra del registro eventi in modo efficiente (perché ho potuto ricevere fino a 1000 eventi da ogni cliente e se ogni etichetta in questo registro occupa 1 oggetto che significa che per ogni cliente ci saranno 1000 oggetti (max , ma possibile) quindi vorrei superare molto il mio limite 10000).

Come posso fare qualcosa al riguardo in modo efficiente?

Al momento per ogni evento lancio di una finestra forma in cui io entro testo e fare clic su un pulsante, ma questo non è efficiente (perché la mia finestra del modulo occupa già 3 oggetti utente e se ho un max 3 * 200 clienti * 1000 utente oggetto che supero il mio limite 7000 di gran lunga).

È stato utile?

Soluzione

faccio fatica a vedere come è possibile ottenere migliaia di Windows da un'interfaccia utente come questo. Se si crea una controllo etichetta per ogni singola notifica poi, sì, questo può ottenere mal di mano in fretta. Lo rende terribilmente lento troppo.

Non utilizzare controlli etichetta, utilizzare un ListBox, ListView, TreeView o DataGridView. I controlli in grado di visualizzare più elementi, ma solo consumare una sola maniglia della finestra.

Altri suggerimenti

Come Hans Passant detto - Win32 non è progettato per essere utilizzato in modo che si sta tentando di usarlo.

Una tipica applicazione potrebbe assomigliare a questo:

alt text

Se ci sono molti elementi (poche migliaia, come ci si aspetta), una casella di ricerca rapida per filtrare le voci nella lista è quasi obbligatorio.

Se i dettagli sono complesse, è possibile sostituire il controllo del browser web statico con HTML generato al volo.


Se ti ostini a bottoni-per-evento (che io non lo consiglio per il vostro UX) avresti bisogno di rendere voi stessi, che è una valle di lacrime in GDI. Oppure utilizzare un controllo del browser web

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top