jaferreira Posted December 9, 2009 at 12:24 AM Report Share #299419 Posted December 9, 2009 at 12:24 AM Boas. Criei um usercontrol e la dentro tenho 3 ComboBox e adiciono o usercontrolo ao form em questao e queria aceder aos metedos de selectedindexchange das combos apartir do form para poder tratar de filtros sempre que umda delas mude alguem me pode dizer qual a melhor maneira para fazer isto ? Link to comment Share on other sites More sharing options...
renafi Posted December 9, 2009 at 11:26 AM Report Share #299444 Posted December 9, 2009 at 11:26 AM A forma que vejo é criares um evento no UserControl e fazer o raise dele em cada selectedindexchanged das combo. Em C#, tens de criar um método para fazer o raise do evento. ex: public event EventHandler teste; protected virtual void OnStart(EventArgs e) { if (this.teste != null) { this.teste(this, e); } } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { this.OnStart(new EventArgs()); } No lado da form que tiver o UserControl, capturas o evento criado. Já agora, se quiseres capturar também os valores seleccionados das combos, cria propriedades. Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist Link to comment Share on other sites More sharing options...
jaferreira Posted December 9, 2009 at 02:43 PM Author Report Share #299474 Posted December 9, 2009 at 02:43 PM E como herdo depois isso no form onde coloco o usercontrol Link to comment Share on other sites More sharing options...
renafi Posted December 9, 2009 at 04:50 PM Report Share #299494 Posted December 9, 2009 at 04:50 PM A partir dai tens o evento no UserControl chamado teste disponível. Sabes criar eventos? Na janela das propriedades do UserControl, tens lá um raio, e fazes 2xclick no evento teste. O Visual Studio cria-te o métod de captura do evento. Pronto, a partir daí, já consegues saber quando é que alguma combo foi seleccionada. Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist Link to comment Share on other sites More sharing options...
jaferreira Posted December 9, 2009 at 05:05 PM Author Report Share #299500 Posted December 9, 2009 at 05:05 PM Public teste As EventHandler Public Overridable Sub OnStart(ByVal e As EventArgs) Isto em Vb fica assim nao e' ? Link to comment Share on other sites More sharing options...
renafi Posted December 9, 2009 at 05:12 PM Report Share #299501 Posted December 9, 2009 at 05:12 PM Então não criaste o tópico para C#??? Em VB não precisas criar o método OnStart Crias o evento: Public Event teste As EventHandler E fazes o raise dele dentro do evento da combo: RaiseEvent teste (aqui envias o objecto e os argumentos de evento) Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now