Wyskakujące okienka z możliwościa wpisywanie danych

0

Witam serdecznie,

Chcialbym aby w mojej aplikacji akcją klikniecia przycisku bylo wyskakujące okienko w który bedize mozliwosc wpisania danych ktore potem beda wysylane do Bazy Danych SQL, Czy ktos mógłby mi podpowiedziec w jaki sposób to mozna zrobic w Visual Studio?

Tak dla prostego wytłumaczenia o co mi chodzi:

Powiedzmy ze mamy program ktory pozwala nam magazywanoc informacje o osobach, posiadamy Pasek menu (tak jak standardowo Plik, Edycja, Widok...) z Możliwosciami: Program (po rozwinieciu ZAMKNIJ PROGRAM) Osoba (po rozwinieciu DODAJ, USUN, PRZEGLADAJ)

Chodzi mi o to aby po rozwinieciu Opcji OSOBA i Kliknieciu opcji DODAJ pojawilo sie okienko z lable'mi i textbox'ami w ktorych bedzie mozliwosc wpisania danych takich jak: imie, nazwisko itd....

Czy ktos mógłby mnie naprowadzic czego użyc do zrobienia tego?

Język programowania jaki używam to C#.

0

Możesz to w bardzo prosty sposób wyklikać designerem. Chodzi o to że jak utworzysz metode click danej opcji musisz ją oprogramować. Np. przykładowa metoda

pacjentTableAdapter.DodajPacjenta(textBox1.Text, textBox2.Text);
String osoba = textBox1.Text + " " + textBox2.Text;
                    this.pacjentTableAdapter.Fill(this.zabekBazaDataSet.Pacjent);
                    MessageBox.Show(osoba.ToUpper() + " dodano do bazy");

możesz np na komponencie panel, ustaić jego widoczność na false a po kliknięciu na true i tam będą textBoxy, albo odpalić nową forme do wprowadzenia danych, możliwości naprawde wiele

0

Jaka baza danych?
Jak chcesz się z nią połączyć?

0

Widze ze skupiliscie sie na bazie danych a mi chodzi o interfejs, ale baza danych SQL i procedury i klasy beda odpowiadaly za komunikacje i operacje na bazie.

Tutaj załączam Screeny o co mi chodzi, zamiast Plik wyobraźcie sobie ze jest napisane Osoba i po kliknieciu w opcje Nowa...

http://dzolero86.wrzuta.pl/obraz/a6EgRoP9rXD/bez_nazwy_2_kopia

wyskakuje massege box taki jak opisalem.

http://dzolero86.wrzuta.pl/obraz/6kettsbIoBv/message_box

Wlasnie nie wiem jak zrobic takiego Message Boxa.

0

akurat do tej metody co wkleiłem użyłem MS SQL 2005 Express, baze tworze dodając ją do projektu i wyklikuje Connection Stringa a potem w designerze zaciągam tabele z bazy do DataSeta.

Złożnie: masz gotową baze np w MS SQL, jak nie musisz ją sobie stworzyć

0

hmmm ja bym to robił tak:

                Form2 form = new Form2();
form.Show();

pojawi się wtedy nowy formularz i na nim nanieś sobie textBoxy

0
znerwicowanyProgramista napisał(a)

akurat do tej metody co wkleiłem użyłem MS SQL 2005 Express, baze tworze dodając ją do projektu i wyklikuje Connection Stringa a potem w designerze zaciągam tabele z bazy do DataSeta.

Złożnie: masz gotową baze np w MS SQL, jak nie musisz ją sobie stworzyć

Wszystko ok, ja rozumiem ze musze okodowac przycisk, tylko jak mam graficznie stworzyc ten message Box z takim ułożeniem textBoxów i Labeli? czy są takiego gotowe rozwiazania w Visual Studio? czy jest jakis kreator do takich okienek? czy takie okienka są osobna aplikacją ktora sie podłacza do głównego programu? Standardowo jest np. MessageBox.Show(string text), no i tam jest 21 różnych opcji, czy do stworzenia takiego message boxa do ktoreg zamiescilem link powyzej mam uzyć ktorejs z tych 21 opcji czy w inny sposób tworzy sie takie rzeczy?

Na tym etapie chciałbym tylko zeby po nacisnieciu buttona wyskoczylo mi takie okienko z takimi polami jak zdjeciu ktore zamiescilem, na razie bez podpisanania z baza danych.

/ tak w nawiasie dzieki za zainteresowanie/

0

ok a więc musisz dodać do projektu nowy formularz, klikasz na niego i ustawiasz sobie na nim w designerze takie labele i textboxy jak chcesz, a potem odpalasz przycisk i wywołujesz 2 formularz tak jak Ci podałem wyżej. MessageBox nie kwalifikuje sie do tego co chcesz zrobić. Możesz uzyskać takie rozmieszczenie na formularzu poprzez przeciagniecie na forme z zakładki data sources odpowiedniej tabeli, tam zaznaczasz tyko czy maja to być text boxy czy grid. Musisz miec jednak taele w bazie połączoną z datasetem, wiec chyba musisz recznie naniesc komponenty

0

spoko, mam nadzieje zo to jakos ogarne,
w skrocie jeszcze raz:

  • Tworze nowy formularz dla projektu
  • ustawiam sobie tam wszystko jak mi pasuje (wizualnie)
  • dodaje kod wywołujący ten formularz jako akcja klikniecia na opcje NOWY...

zgadza sie?

jaką komendą sie wywołuje ten formularz nowo stworzony?

private void JAKISprzycisk_Click(object sender, EventArgs e)
{ nowyformularz.form

     }

cos takiego?

0

w kodzie metody:

Form <nazwa własna np:osoba> = new Form();
osoba.Show();

jak nie dasz rady odezwij sie jutro na gg to Ci pomoge (zdalny pulpit albo cos) gg11303294

0

Imo lepiej ShowDialog(); jezeli ma słuzyc do wprowadzania 'czegos';

Musisz ustawic modifier na public, dla kontrolek na wywoływanej formie, bedziesz mial do nich dostep wtedy po .
(np formularz.textbox1)
Dodatkowo, zdefiniować ktory przycisk jest jako accept button który jako cancelbutton. Ustawic w acceptbutton DialogResult na OK.

potem, pod wywołaniem formularz.showdialog();
zrobisz if-a
if(formularz.dialogresult==dialogresult.ok)
{costam}

0

I nie musisz ustawiać wszystkiego ręcznie. Jest okno Data Sources (wywołać możesz z menu View). Dodajesz w nim nowe źródło danych przy użyciu wizarda, wybierasz bazę/tabelę. Gdy Ci się pojawi na liście wybierasz z ComboBoxa typ widoku "Details" i przeciągasz na swój Form. Wszystkie potrzebne wówczas TextBoxy, ComboBoxy, Labele utworzą się automatycznie.

0

rozwiazałem to w ten sposób:

Dodalem nowy formularz do projektu - Form.csproj /prawy przycisk mysz/ Add --> New Item --> Windows Form

Ustawilem sobie wyglad okienka tak jak mi pasowalo, czyli wszystkie textboxy i labele i buttony.
W kodzie tego nowego okienka (nowego Windows form) dodałem:

public void showForm1(object sender, EventArgs e)
{
Form1 form = new Form1();
form.Show();
}

Potem wywołuje ten formularz w kodzie w głównym formularzu projektu jako akcja odpowiedniego przycisku:

private void Button1_Click(object sender, EventArgs e)
{
Form1 form = new Form1();
form.Show();
}

0

Kolega z góry ma racje lepiej ustawić ShowDialog() zamiast Show(). poza tym ok :)

0

poza tym wydaje mi się ze kod w nowym formularzu jest zbędny, po co wywołujesz tam formularz skoro robisz to kodem klikniecia w przycisk ?

0

zaczynam programowanie dopiero :P troche wyrozumialosc :P

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