Domanda

Sto lavorando a un editor html winforms con più finestre dell'editor poiché ogni finestra dell'editor verrà scritta in un campo del database.

Sto creando le finestre dell'editor come un array di controllo e speravo di avere solo una barra degli strumenti sopra di esse che gestisse gli eventi come applicare grassetto, corsivo ... in base alla finestra in cui mi trovavo attualmente. Sfortunatamente ovviamente l'evento il gestore di un evento sulla barra degli strumenti non sa quale controllo selezionato prima fosse.

C'è un modo per ottenere questo o dovrei aggiungere un evento onenter a ciascuna finestra dell'editor e archiviare staticamente l'ultima finestra dell'editor utilizzata.

È stato utile?

Soluzione

Penso che archiviare Windows, il controllo dell'editor HTML o anche solo un indice sia l'opzione più semplice.

Altri suggerimenti

Non ho familiarità con i tipi di eventi che menzioni e probabilmente mi manca qualcosa, ma è comune nello sviluppo di WinForms avere eventi attivi e fornire informazioni sul mittente e sull'evento, in conformità con < a href = "http://msdn.microsoft.com/en-us/library/system.eventhandler.aspx" rel = "nofollow noreferrer"> EventHandler delegato?

[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler(
    Object sender,
    EventArgs e
)

Ecco come System.Windows. Forms.Control.Click funziona. Potresti seguire questo esempio, dove mittente sarebbe la finestra dell'editor in ogni caso?

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