Timer na Form1 i problem z utworzeniem nowego wątku.

Odpowiedz Nowy wątek
2011-07-28 15:47
wątkowyProblem
0

Mam na Form1 timer, dodałem przycisk, który ma otwierać stronę i chcę to zrobić w nowym wątku.

using System.Threading;
 
        private void odwiedzStroneThreadTask()
        {
            System.Diagnostics.Process.Start("http://www.4programmers.net");
        }
        private void buttonOdwiedzStrone_Click(object sender, EventArgs e)
        {
            //odwiedzanie strony w nowym wątku
            Thread trd = new Thread(new ThreadStart(this.odwiedzStroneThreadTask));
            trd.IsBackground = true;
            trd.Start();
        }
 

Treść błędów:

Error 1 'Timer' is an ambiguous reference between 'System.Windows.Forms.Timer' and 'System.Threading.Timer'

        private void sprawdzAutomatycznePrzejscie(CheckBox checkBoxAutomatyka, Timer obTimer)
        {
            if (checkBoxAutomatyka.Checked)
            {
                obTimer.Start();
            }
            else
            {
                obTimer.Stop();
            }
        }
 

W tej linii pokazuje błąd private void sprawdzAutomatycznePrzejscie(CheckBox checkBoxAutomatyka, Timer obTimer), dlaczego? Wszystko działo dobrze, dopóki nie chciałem otworzyć strony w nowym wątku.

Pozostało 580 znaków

2011-07-28 15:53
0

Bo klasa Timer jest zarówno w przestrzeni System.Windows.Forms jak i w System.Threading, i o tym mówi komunikat o błędzie.

Po prostu, jeśli masz usingi dla tych dwóch przestrzeni, to w kodzie zamiast:

Timer t = new Timer();

musisz podawać pełną nazwę, np.:

System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();

A w przypadku definicji metody, jak u Ciebie, też musisz podać pełną nazwę typu:

private void sprawdzAutomatycznePrzejscie(CheckBox checkBoxAutomatyka, System.Windows.Forms.Timer obTimer)

"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
edytowany 1x, ostatnio: somekind, 2011-07-28 15:55

Pozostało 580 znaków

2011-07-28 16:30
wątkowyProblem
0

Wielkie dzięki somekind. Mam jeszcze jedno pytanie, czy można w jakiś prosty sposób sprawdzić czy wpisany tekst w textBox jest adresem email, czyli ma postać jakaś[email protected]śDomena?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0