CONTEXTMENUSTRIP ITEM CLICK

ALEVALE 19/07/2012 19:45:50
#406279
Pessoal boa noite,

Já fuçei o google de cabo a rabo..rsrsrs e não encontrei...
Alguem sabe como eu pego o item click o text de um item de um contextmenustrip, pelo que vi existem muitos exemplos com o evento (item_click) pegando o item.clickedtext se não me engano, porém acho que isso só é valido em ASP.NET e to fazendo em Forms, alguém sabe como pegar isso ?
KERPLUNK 19/07/2012 23:26:46
#406302
No evento do clique do ítem:
Dim texto As String = DirectCast(sender, ToolStripDropDownItem).Text
ALEVALE 20/07/2012 08:08:53
#406321
Funfo não....
Deu erro:

[Ô]Unable to cast object of type [ô]System.Windows.Forms.ContextMenuStrip[ô] to type [ô]System.Windows.Forms.ToolStripDropDownItem[ô].[Ô]

Alterei para de ToolStripDropDowItem para o ContextMenuStrip mas dai o valor veio como nulo ([Ô][Ô])
ALEVALE 20/07/2012 08:11:49
#406322
Carrego o ContextMenu assim:
Exemplo:
IMPRESSORA1
IMPRESSORA2

Quero clicar no item [Ô]IMPRESSORA1[Ô] por exemplo e pegar o texto [Ô]IMPRESSORA1[Ô]..

Código:
For Each p As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
pmon.AddPrinter(p)
pmon.PrinterInformation(p).PauseAllNewJobs = False

tm = New ToolStripMenuItem(UCase(pmon.PrinterInformation(p).PrinterName))
ContextMenuStrip.Items.Add(Replace(tm.ToString, [Ô]\\SERVIDOR2\[Ô], [Ô][Ô]))

[ô]ADICIONA IMPRESSORAS E VERIFICA STATUS
For i = 0 To ContextMenuStrip.Items.Count - 1
With ContextMenuStrip
.Items(i).Image = Image.FromFile(Application.StartupPath & [Ô]\Icones\agt_print.ico[Ô])
End With
Next
Next p
KERPLUNK 20/07/2012 10:11:33
#406330
Então, acho que você não entendeu a idéia. O parâmetro sender, contém o objeto que disparou o evento, basta fazer um cast nele e pegar tudo que quiser. Nesse caso:
Dim texto As String = DirectCast(sender, ContextMenuStrip).Text
ALEVALE 20/07/2012 10:18:08
#406333
Desculpe realmente eu não entendi, eu tenho que colocar ele no evento que eu quero correto no meu caso no click do context, certo ?
Tentei assim mas não funciona.

Private Sub ContextMenuStrip_Click(sender As Object, e As System.EventArgs) Handles ContextMenuStrip.Click
Dim texto As String = DirectCast(sender, ContextMenuStrip).Text
End Sub
KERPLUNK 20/07/2012 10:23:59
#406335
Adicione a variável sender na watch window e veja...
PEGUDO 20/07/2012 11:31:38
#406344
Resposta escolhida
Cara
Você quer pegar o texto de qual item foi clicado? é isso?

Faça assim:

Private Sub ContextMenuStrip1_ItemClicked(sender As Object, e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles ContextMenuStrip1.ItemClicked
MsgBox(e.ClickedItem.Text)
End Sub

Espero ter ajudado.
ALEVALE 20/07/2012 16:51:25
#406367
Hum...funfo assim..

Obrigado.
Tópico encerrado , respostas não são mais permitidas