Visual Basic TEXT-BOX   otázka

VB.NET, WinForms

Dobrý den potřeboval bych prosím radu.

Mám text-box a vněm tři jména Např. Radek, Petr, Jan

Potřeboval bych aby když označím jedno z těchto jmen v textboxu a kliknul na Tlačitko Comand, tak aby se mi v labelu pod tlacitkem comand napsalo co kdo je.... Dám příklad. V text-boxu označim jmeno RADEK .... poté kliknu na tlačítko comand pod názvem ( " je? " ) A pod tímto tlačítkem v LABELU se mi oběví STUDENT..

Předem děkuji a doufám že mě pochopíte.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

http://vbnet.cz/clanek--3-vb_net_od_zaca...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Myslím, že pokud zvládne udělat formulář a dát na něj TextBox a do něj dát text, tak už není začátečník, ale mírně pokročilej :)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.SelectedText = "Radek" Then
   Label1.Text="Student" ' je-li označen text Radek, zobrazí se v Labelu text STUDENT
Else
   Label1.Text="" ' je li označeno něco jiného, vymaže se obsah Labelu
End If

Myslím si, že by asi bylo lepší použít

TextBox1.SelectedText.Contains("Radek")

Nevím, nemůžu to odskoušet, nemám tu nainstalovaný Visuál Basic.

Snad Vám to pomůže.

Pavel H.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Aha, tak teť když nad tím přemýšlím, tak je to pěkně hloupej nápad přidat tam Contains, protože to může vzít celý označený text i s jinýma jménama když bude někde v textu slovo Radek.

Takže beru zpět :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak to by musel byť veľmi mierne pokročilí. Tie mená by som dal do ListBoxu alebo ComboBoxu . Čo kto je by sa dalo nasypať do poľa, v rovnakom poradí, ako mená v ComboBoxe/ListBoxe . A v SelectedIndexChanged nastaviť do Labelu prvok toho poľa s indexom totožným s indexom vybranej položky.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

No jo, ale co když je text dlouhý.

Já bych spíš použil RichTextBox. Má víc možností a lze v něm i nastavit formátování textu. Můžete změnit velikost písmen nebo barvu u jednoho slova v textu. U klasického textboxu to nejde.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Neviem načo by bolo dobré u mien ľudí to nejako formátovať, ani si neviem predstaviť prípad, že by jedno konkrétne meno bolo dlhé. A keď použijete Combobox, môžete informácie o ľuďoch dať do obyčajného poľa v rovnakom poradí, a v SelectedIndexChanged podľa indexu vypísať do Labelu konkrétne údaje vybraného človeka. Pokiaľ viem, tak pri použití RichTextBoxu bude nutné ošetriť prípad, keď nie je vybrané celé meno, a taktiež informácie o ľuďoch budú musieť byť v slovníku. Spravil by som to podobne:

Dim data As String() = New String(){"Študent", "Riaditeľ", "Právnik"}

Public Sub New()
  InitializeComponent()
  cmbName.Items.AddRange(New String(){"Adam Kováč", "Štefan Zámorský", "Ján Hodermanský"})
End Sub

Public Sub cmbName_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles cmbName.SelectedIndexChanged
  lblPovolanie.Text = data(cmbName.SelectedIndex)
End Sub

Je vidieť, že data sú uložené v jednoduchej podobe a nie je ani zložité s nimi pracovať.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Máte pravdu, je to velice pěkné řešení. Nepochopi jsem zadání. Myslel jsem, že že v textboxu je nějaký dlouhý text například o škole a v tom textu jsou na různých místech tři jména.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback