Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 2.728 pregleda

Najnovija ↓

TextBox ToolTip WinForm MouseHower problem 01.03.2009. u 18:21 · pre 215 meseci #1
Imam jedan textBox na WinForm i hocu da kada stavim misa na njega da se izvrsi jedna konekcija na bazu da pokupi podatke i prikaze u ToolTip-u :)
E sada ja sam koristio 'txt***_MouseHover' Event za ovo i kada stavim kursor na textbox izvsi se skupljanje podataka iz baze i prikaze ih u ToolTip-u to je ok.
Problem je sto se ovaj Event izvrsava sve vreme dok mi je kursor na textBox-u, a to mi smeta zbog performansi aplikacije, kako mogu da se osiguram da ce ovaj event da se izvrsi samo jednom, a ne sve vreme dok je cursor ne kontroli?
Re: TextBox ToolTip WinForm MouseHower problem 01.03.2009. u 21:24 · pre 215 meseci #2
prvi put preuzmi podatke, svaki sledeci put, preskoci:

if (!preuzeto)
{
akcija;
preuzeto = true;
}

preuzeto postavi na false kad hoces da osvezis...


ne znam kakva ti je logika, al konceptualno mozda mozes da razmisljas i o singleton-u za taj string
Re: TextBox ToolTip WinForm MouseHower problem 01.03.2009. u 22:35 · pre 215 meseci #3
Pa tako nekako sam i razmisljao, ali ako tako stavim ono ce jednom da prikaze a onda vise nece nikad :(, a ja to necu. Mnogo cudan event :)
Code:

private void txtOid_MouseHover(object sender, EventArgs e)
        {
           
            string sqlQuery = "SELECT dbo_OrgDetails.Site, dbo_OrgDetails.Name, dbo_OrgDetails.Profile, dbo_OrgDetails.Adresa, dbo_OrgDetails.Phone, dbo_OrgDetails.Fax, dbo_OrgDetails.Country FROM dbo_OrgDetails INNER JOIN dbo_UserDetails ON dbo_OrgDetails.Oid = dbo_UserDetails.Oid WHERE dbo_OrgDetails.Oid = '" + txtOid.Text + "'";
            string nazivComp = "";
            string sajtComp = "";
            string Profile = "";
            string Adresa = "";
            string Phone = "";
            string Fax = "";
            string Country = "";
            

            using (IDataReader dr = m_Db.ExecuteReader(CommandType.Text, sqlQuery))
            {
                while (dr.Read())
                {
                    try
                    {                       
                        nazivComp = dr.GetString(dr.GetOrdinal("Name"));
                        sajtComp = dr.GetString(dr.GetOrdinal("Site"));
                        Profile = dr.GetString(dr.GetOrdinal("Profile"));
                        Adresa = dr.GetString(dr.GetOrdinal("Adresa"));
                        Phone = dr.GetString(dr.GetOrdinal("Phone"));
                        Fax = dr.GetString(dr.GetOrdinal("Fax"));
                        Country = dr.GetString(dr.GetOrdinal("Country"));                       
                    }
                    catch (Exception)
                    {

                    }
                    txtToolTip.BackColor = Color.White;
                  
                    txtToolTip.SetToolTip(txtOid, nazivComp + "\n" + sajtComp + "\n" + Profile + "\n" + Adresa + "\n" + Phone + "\n" + Fax + "\n" + Country);
                     nazivComp = "";
                     sajtComp = "";
                     Profile = "";
                     Adresa = "";
                     Phone = "";
                     Fax = "";
                     Country = "";
                    
                }
            }
        }
Re: TextBox ToolTip WinForm MouseHower problem 01.03.2009. u 23:37 · pre 215 meseci #5
A jesi ti siguran da ti se stalno izvrsava MouseHover dogadjaj ?

Probao sam da u aplikaciji dodam prost dogadjaj:

Code:

        private void textBox1_MouseHover(object sender, EventArgs e)
        {
            toolTip1.SetToolTip((Control)sender, DateTime.Now.ToString());
            label2.Text = DateTime.Now.ToString();
        }



Dakle text box i label, za textBox postavljam toolTip, a label2 mi sluzi cisto kao kontrola da li se ovaj dogadjaj izvrsava 2+ puta.

I uvek mi javlja da se dogadjaj izvrsio jednom po ulasku misa u kontrolu, drugi put se izvrsi tek kada izadjem misem iz kontrole i ponovo udjem u kontrolu.
Re: TextBox ToolTip WinForm MouseHower problem 02.03.2009. u 08:29 · pre 215 meseci #6
Citat:
Igor Gajic: A jesi ti siguran da ti se stalno izvrsava MouseHover dogadjaj ?

Probao sam da u aplikaciji dodam prost dogadjaj:

Code:

        private void textBox1_MouseHover(object sender, EventArgs e)
        {
            toolTip1.SetToolTip((Control)sender, DateTime.Now.ToString());
            label2.Text = DateTime.Now.ToString();
        }



Dakle text box i label, za textBox postavljam toolTip, a label2 mi sluzi cisto kao kontrola da li se ovaj dogadjaj izvrsava 2+ puta.

I uvek mi javlja da se dogadjaj izvrsio jednom po ulasku misa u kontrolu, drugi put se izvrsi tek kada izadjem misem iz kontrole i ponovo udjem u kontrolu.

Izgleda da si u pravu :), zbunio me je debuger jer kada sam ga pustio ono se izvrsi jednom ali fora je sto mi se nakon debuga ponovo otvori debug jer je mis ostao na istom mestu :), izvrsava se samo jednom, izvinite na smetnji ;(
Hvala
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme