Karty w windows forms

Karty w windows forms
Y1
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:7
0

Witam, piszę (może za dużo powiedziane). Staram się pisać program Windows Forms w C# i chciałbym użyć czegoś w rodzaju kart w przeglądarce. Tzn żeby zawsze były dostępne. W drugiej karcie chcę przechowywać wyniki działań z pierwszej karty. Jakiego elementu z przybornika powinienem użyć? O ile jest coś takiego. Ewentualnie proszę o jakąś alternatywę.

Pewnie będę miał jeszcze jakieś pytania.
Z góry dzięki za pomoc.

grzesiek51114
grzesiek51114
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 4 lata
  • Postów:2442
0

Zainteresuj się TabControl. Tak na szybkiego:

Są też filmy:

Pełno tego w goglach generalnie.

edytowany 1x, ostatnio: grzesiek51114
Y1
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:7
0

Dzięki, rzeczywiście się pospieszyłem z tematem. Mam kolejny problem, który wcześniej próbowałem rozwiązać przez google.

Otóż chcę dodać opcję drukowania. Tylko chciałbym żeby wyświetlało się okno dialogowe PrintDialog. I oczywiście to nie problem. Problemem jest to co dzieje się później, Po wybraniu drukarki i naciśnięciu Drukuj nic się nie dzieje. Ktoś mógłby mnie naprowadzić co powinno znaleźć się w kodzie? Zapewne musi się tam też znaleźć, nazwijmy to, wzorzec wydruku.

Aha, i mam problem ze zmianą nazwy podmenu elementu menustrip. Menu główne zmieniłem:

Kopiuj
        private void angielskiToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form.ActiveForm.Text = "Payroll";
            menuStrip1.Items[0].Text = "File";
            menuStrip1.Items[1].Text = "Edit";
            menuStrip1.Items[2].Text = "Option";
            menuStrip1.Items[3].Text = "Help";
        }

Nie wiem jak się dostać do elementu np drukuj, który znajduje się po naciśnięciu "File"

edytowany 1x, ostatnio: Yeti16sm
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 11 godzin
0
  1. https://msdn.microsoft.com/en-us/library/xdt36c58%28v=vs.110%29.aspx

  2. dlaczego wypełniasz menustripa w kodzie? jest jakiś konkretny powód?

0

Dzięki.. Tak mam powód. Chcę zrobić zmianę języka. Wiesz może jak się dostać do submenu z poziomu kodu?

Y1
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:7
0

Przepraszam za post pod postem. Mogę liczyć na pomoc z przypisaniem konkretnego znaku MaskedTextBoxa?

Próbowałem już m.in. coś w stylu:

MaskedTextBox1.Text[0].ToString() = "0";

Wywala błąd, że po lewej musi być zmienna.

SK
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:117
0

A co w ogóle chcesz zrobić?
Tak poza tym właściwość Text jest stringiem więc nie musisz dodawać ToString()
Może chodziło Ci o coś takiego: maskedTextBox1.Text = "0" - ale to nie tak się robi, jeśli dobrze się domyślam co chcesz zrobić.


edytowany 3x, ostatnio: cSharpKazik
Y1
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:7
0

Chcę przypisać dowolny znak konkretnemu znakowi w moim maskedTextBox. I wydaje mi się, że to jest char a nie string. Jestem laikiem, więc mogę się mylić.. Prawdę mówiąc to załątwiłem to już w inny sposób :) Ale tutaj coś z czym sobie na pewno nie poradzę :) Może na początek kod:

Kopiuj
            if (maskedTextBox1.Text.Contains(" "))
            {
                MessageBox.Show("Wprowadziłeś złą datę w polu: Rachunek z dnia\n\nPoprawny format to dd/mm/rrr", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            string dzien;
            dzien = maskedTextBox1.Text[0].ToString();
            dzien += maskedTextBox1.Text[1].ToString();

            string miesiac;
            miesiac = maskedTextBox1.Text[3].ToString();
            miesiac += maskedTextBox1.Text[4].ToString(); 

            string rok;
            rok = maskedTextBox1.Text[6].ToString();
            rok += maskedTextBox1.Text[7].ToString();
            rok += maskedTextBox1.Text[8].ToString();
            rok += maskedTextBox1.Text[9].ToString();

Mój MaskedTextBox1 wygląda następująco __/__/____ gdzie _ to dd/mm/rrrr. Jak wpiszę, np 12/__/____ (2 znaki z miesiąca i cały rok zostawię pusty) to pięknie wchodzi do if'a podanego wyżej. Wywala msgboxa i wychodzi z metody. Co jest zrozumiałe, bo po pierwszym niewypełnionym miejscu jest "/" i to miejsce zamienia się w spację.

Ale już kiedy wpiszę 12/12/____ (tylko rok pusty) to nie wchodzi do if'a, tak jakby automatycznie skracał ciąg znaków... OK, to też nie jest dziwne. Pomyślałem, że skoro skraca to do ifa dodam warunek

if ((maskedTextBox1.Text.Contains(" ")) || (maskedTextBox1.TextLenght < 10)) - jeśli się pomyliłem z nawiasami to nie zwracajcie uwagi, w Visual Studio było ok...

Przeleciałem kod krokowo i na dole jest napisane, że string wygląda,np tak "11/11/"... Ale tutaj najdziwniejsze.. Poniżej widnieje informacja MaskedTextBox1.TextLenght = 10

I zgłupiałem.

Oczywiście jeśli wpiszę 12/12/___1 to wszystko działa ponieważ po niewpisanych miejscach jest znak. W tym wypadku "1".

edytowany 7x, ostatnio: Yeti16sm
SK
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:117
0

A nie lepiej po prostu użyć DateTimePicker'a ?


0
cSharpKazik napisał(a):

A nie lepiej po prostu użyć DateTimePicker'a ?

Pewnie lepiej :) Ale już zacząłem robić na maskedtextboxach i też nie jest źle.

Kaziku jesteś w stanie odpowiedzieć mi czemu mimo ciągu "11/11/", TextLenght = 10 ?

WeiXiao
Hmm. "Mój MaskedTextBox1 wygląda następująco //____ gdzie _ to dd/mm/rrrr." .................... Skąd się to może brać? dd + mm + rrrr = 8 znaków + 2x / = 10 znaków Tak bym obstawiał, ale nie wiem i nie wiem też dlaczego ;p
JU
  • Rejestracja:około 22 lata
  • Ostatnio:około 2 miesiące
  • Postów:5042
1

Dlatego 10, bo masz jeszcze 4 kreski: ____ na rok. TextLength zawsze Ci zwróci w tym przypadku to, co jest w MaskEdicie - nawet te kreski, które wskazują na miejsce do wpisania.

0
Juhas napisał(a):

Dlatego 10, bo masz jeszcze 4 kreski: ____ na rok. TextLength zawsze Ci zwróci w tym przypadku to, co jest w MaskEdicie - nawet te kreski, które wskazują na miejsce do wpisania.

No tak, ale czemu po wprowadzeniu dnia i miesiąca (zostawiając rok pusty) string wygląda "11/11/" zamiast "11/11/____"

Ponadto jeżeli zrobię if'a, który sprawdza czy maskedtextbox1.text contain "_" to nawet do niego nie wchodzi...

Y1
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 6 lat
  • Postów:7
0

Dla potomnych. Udało mi się zażegnać problem.

Kopiuj

 if (maskedTextBox1.MaskFull == false)
            {
                MessageBox.Show(...);
                return;
            }

Załatwiło sprawę.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)