Lukas S. Posted March 28, 2012 at 05:40 PM Report #446178 Posted March 28, 2012 at 05:40 PM TOPICO RESOLVIDO O user Andrepereira9 encontrou a solução Boas Como são vários items, tens de percorre-los 1 a 1. Não consegues copiar uma colecção só de uma vez. If ListBox1.SelectedItems.Count > 0 Then Dim copiar As String = String.Empty For Each item In ListBox1.SelectedItems copiar &= item.ToString + vbNewLine Next My.Computer.Clipboard.SetText(copiar) End If O Problema Tenho uma lista mas não consigo copiar porque dá este tipo de erro System.Windows.Forms.ListBox+SelectedObjectCollection Tou com o seguinte código: Private Sub CopiarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CopiarToolStripMenuItem.Click If ListBox1.SelectedItems.Count > 0 Then Dim copiar As String copiar = ListBox1.SelectedItems.ToString My.Computer.Clipboard.SetText(copiar) End If End Sub Ao colocar este código não dá erro e nenhum mas quando vou a colar ele só cola System.Windows.Forms.ListBox+SelectedObjectCollection E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
bsccara Posted March 28, 2012 at 06:44 PM Report #446182 Posted March 28, 2012 at 06:44 PM Presumo que queiras copiar a linha seleccionada na Listbox. Para isso usas a propriedade SelectedItem (singular). A SelectedItems (plural) dá-te uma colecção com todas as linhas seleccionadas, o que não pode ser convertido numa string.
Lukas S. Posted March 28, 2012 at 06:49 PM Author Report #446183 Posted March 28, 2012 at 06:49 PM O melhor que consegui foi isto que copia só um item If ListBox1.SelectedItems.Count > 0 Then Dim listbx As Object Dim copiar As Object Dim itemsexistentes As Object itemsexistentes = ListBox1.SelectedItems.Count listbx = ListBox1.SelectedItem copiar = ListBox1.Text.ToString For Each itemsexistentes In listbx My.Computer.Clipboard.SetText(copiar) Next End If Outro método que usei e nada Dim i As Integer = 0 For i = 0 To ListBox1.SelectedItems.Count - 1 My.Computer.Clipboard.SetText(ListBox1.SelectedItems.Item(i).ToString() & " ") Next End Sub E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
Lukas S. Posted March 28, 2012 at 06:52 PM Author Report #446185 Posted March 28, 2012 at 06:52 PM Presumo que queiras copiar a linha seleccionada na Listbox. Para isso usas a propriedade SelectedItem (singular). A SelectedItems (plural) dá-te uma colecção com todas as linhas seleccionadas, o que não pode ser convertido numa string. só pra esclarecer -te Error 1 Value of type 'System.Windows.Forms.ListBox.SelectedObjectCollection' cannot be converted to 'String'. D:\Visual Basic\Source\Regex - Para Ficheiros Locais\WindowsApplication1\WindowsApplication1\Form1.vb 56 22 WindowsApplication1 E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
Andrepereira9 Posted March 28, 2012 at 07:38 PM Report #446188 Posted March 28, 2012 at 07:38 PM Boas Como são vários items, tens de percorre-los 1 a 1. Não consegues copiar uma colecção só de uma vez. If ListBox1.SelectedItems.Count > 0 Then Dim copiar As String = String.Empty For Each item In ListBox1.SelectedItems copiar &= item.ToString + vbNewLine Next My.Computer.Clipboard.SetText(copiar) End If A informática chegou para resolver problemas que antes não existiam Quem ri por último é porque está conectado a 52 Kbs.
Andrepereira9 Posted March 28, 2012 at 07:41 PM Report #446190 Posted March 28, 2012 at 07:41 PM TOPICO RESOLVIDO Bem descobri na internet como fazer .. Fica aqui a solução para quem um dia poder vir a necessitar lembrando que necessita-se de fazer imports do System.Text Private Sub CopiarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CopiarToolStripMenuItem.Click Dim lb As Object Dim buffer As New StringBuilder lb = ListBox1 For i As Integer = 0 To lb.Items.Count - 1 buffer.Append(lb.Items(i).ToString) buffer.Append(vbCrLf) Next My.Computer.Clipboard.SetText(buffer.ToString) End Sub Em vez de utilizares o .Append(valor) e depois .Append(vbCrLf) para passar para a linha de baixo, podes utilizar o .AppendLine(valor), que ele mete cada valor numa linha nova P.S. Não alteres as mensagens anteriores como fizeste na 1º para pores a solução. Cria uma nova mensagem. Assim o tópico fica mais organizado A informática chegou para resolver problemas que antes não existiam Quem ri por último é porque está conectado a 52 Kbs.
Lukas S. Posted March 28, 2012 at 07:44 PM Author Report #446191 Posted March 28, 2012 at 07:44 PM Em vez de utilizares o .Append(valor) e depois .Append(vbCrLf) para passar para a linha de baixo, podes utilizar o .AppendLine(valor), que ele mete cada valor numa linha nova P.S. Não alteres as mensagens anteriores como fizeste na 1º para pores a solução. Cria uma nova mensagem. Assim o tópico fica mais organizado Andre desculpa lá mas a tua solução foi a melhor por isso vou pôr no inicio do topico se nao te importares E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
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