• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[WPF] Formatowanie TextBoxa w behind-code

0 głosów
846 wizyt
pytanie zadane 4 czerwca 2018 w C# przez polsky Nowicjusz (230 p.)
edycja 4 czerwca 2018 przez polsky

Hej;
Potrzebuje zedytowac wyglad trzcionki w textboxie. Niestety nie wszystko sie udaje :(

Kod XAML:

        <Grid Grid.Column="0" Background="#FF85B959" Margin="0,0,0,0">
            <Image  Name="Logo_0_0"  HorizontalAlignment="Center" VerticalAlignment="Center"></Image>
            <Image  Name="Stan_0_0"  HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="None" ></Image>
            <TextBox Name="TBNo_0_0"  Background="#FF85B959"  FontFamily="Times New Roman" />
            <Image  Name="Pilka_0_0"  HorizontalAlignment="Left" VerticalAlignment="Bottom" Stretch="None" ></Image>
        </Grid>
        <Grid Grid.Column="1" Background="#FF85B959" Margin="0,0,0,1">
            <Image  Name="Logo_0_1"  HorizontalAlignment="Center" VerticalAlignment="Center"></Image>
            <Image  Name="Stan_0_1"  HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="None" ></Image>
            <TextBox Name="TBNo_0_1"  Background="#FF85B959" FontFamily="Times New Roman" />
            <Image  Name="Pilka_0_1"  HorizontalAlignment="Left" VerticalAlignment="Bottom" Stretch="None" ></Image>
        </Grid>
        <Grid Grid.Column="2" Background="#FF85B959" Margin="0,0,0,1">
            <Image  Name="Logo_0_2"  HorizontalAlignment="Center" VerticalAlignment="Center"></Image>
            <Image  Name="Stan_0_2"  HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="None" ></Image>
            <TextBox Name="TBNo_0_2"  Background="#FF85B959"  FontFamily="Times New Roman" />
            <Image  Name="Pilka_0_2"  HorizontalAlignment="Left" VerticalAlignment="Bottom" Stretch="None" ></Image>
        </Grid>

Kod c#:

       public MainWindow()
        {
            InitializeComponent();

            TBNo_0_0 = StylTekstu(0, 0);
            TBNo_0_1 = StylTekstu(0, 1);
            TBNo_0_2 = StylTekstu(0, 2);

        }

        TextBox[,] txtBox = new TextBox[0, 3];

        public TextBox StylTekstu(int i, int j)

        {
            txtBox[i, j].Text = "6";     

            txtBox[i, j].FontSize = 13;
            txtBox[i, j].FontWeight = FontWeights.Bold;
            txtBox[i, j].Foreground = Brushes.Red;
            txtBox[i, j].VerticalAlignment = VerticalAlignment.Center;
            txtBox[i, j].HorizontalAlignment = HorizontalAlignment.Center;
            txtBox[i, j].TextAlignment = TextAlignment.Center;
            txtBox[i, j].BorderBrush = Brushes.White;

            return txtBox[i, j];
        }

Dlaczego metoda StylTekstu nie przekazuje obiektu txtBox do textboxa TBNo_0_0 ?

Dzieki za pomoc

komentarz 4 czerwca 2018 przez NowyUrzydgownig Mądrala (5,090 p.)
Nic nie widze.
komentarz 4 czerwca 2018 przez polsky Nowicjusz (230 p.)
Problem jest prawdopodobnie ze sposobem wpisywania  w C# właściwości textboxa, bo przy debugowaniu jak sprawdziłem watości obiektu ( czcionke i wartośc stringa wpisana do textboxa) to wartosci sa domyślne ( czcionka 12 zamiast 13 a string jest pusty a nie rowny "6")  Jak prawidłowo wpisać własciwości textboxa w C# ?
komentarz 4 czerwca 2018 przez NowyUrzydgownig Mądrala (5,090 p.)
Mysle, ze to jednak cos z forum.
komentarz 4 czerwca 2018 przez polsky Nowicjusz (230 p.)
Nie widzisz mojego kodu? czy o co chodzi?
komentarz 4 czerwca 2018 przez NowyUrzydgownig Mądrala (5,090 p.)
Odpal czarna wersje strony to zobaczysz. Kod jest napisany szarym na czarnym. Nie wiem kto to projektowal, chyba daltonista jakis.
komentarz 4 czerwca 2018 przez polsky Nowicjusz (230 p.)
Kod XAML:

   <Grid Grid.Column="0" Background="#FF85B959" Margin="0,0,0,0">
            <Image  Name="Logo_0_0"  HorizontalAlignment="Center" VerticalAlignment="Center"></Image>
            <Image  Name="Stan_0_0"  HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="None" ></Image>
            <TextBox Name="TBNo_0_0"  Background="#FF85B959"  FontFamily="Times New Roman" />
            <Image  Name="Pilka_0_0"  HorizontalAlignment="Left"

VerticalAlignment="Bottom" Stretch="None" ></Image>
        </Grid>
        <Grid Grid.Column="1" Background="#FF85B959" Margin="0,0,0,1">
            <Image  Name="Logo_0_1"  HorizontalAlignment="Center" VerticalAlignment="Center"></Image>
            <Image  Name="Stan_0_1"  HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="None" ></Image>
            <TextBox Name="TBNo_0_1"  Background="#FF85B959" FontFamily="Times New Roman" />
            <Image  Name="Pilka_0_1"  HorizontalAlignment="Left" VerticalAlignment="Bottom" Stretch="None" ></Image>
        </Grid>
        <Grid Grid.Column="2" Background="#FF85B959" Margin="0,0,0,1">
            <Image  Name="Logo_0_2"  HorizontalAlignment="Center" VerticalAlignment="Center"></Image>
            <Image  Name="Stan_0_2"  HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="None" ></Image>
            <TextBox Name="TBNo_0_2"  Background="#FF85B959"  FontFamily="Times New Roman" />
            <Image  Name="Pilka_0_2"  HorizontalAlignment="Left" VerticalAlignment="Bottom" Stretch="None" ></Image>
        </Grid>

Kod c#:

   public MainWindow()
        {
            InitializeComponent();

            TBNo_0_0 = StylTekstu(0, 0);
            TBNo_0_1 = StylTekstu(0, 1);
            TBNo_0_2 = StylTekstu(0, 2);

        }

        TextBox[,] txtBox = new TextBox[0, 3];

        public TextBox StylTekstu(int i, int j)

        {
            txtBox[i, j].Text = "6";     

            txtBox[i, j].FontSize = 13;
            txtBox[i, j].FontWeight = FontWeights.Bold;
            txtBox[i, j].Foreground = Brushes.Red;
            txtBox[i, j].VerticalAlignment = VerticalAlignment.Center;
            txtBox[i, j].HorizontalAlignment = HorizontalAlignment.Center;
            txtBox[i, j].TextAlignment = TextAlignment.Center;
            txtBox[i, j].BorderBrush = Brushes.White;

            return txtBox[i, j];
        }

 

Teraz lepiej ? :)
komentarz 4 czerwca 2018 przez NowyUrzydgownig Mądrala (5,090 p.)
Te przypisanie nowych textboxów zrób nie w funkcji MainWindow, a w jakiejś funkcji po kliknięciu przycisku.
komentarz 4 czerwca 2018 przez polsky Nowicjusz (230 p.)
edycja 4 czerwca 2018 przez polsky
Sprawdziłem jeszcze raz i  metoda ustawia wartość txtBoxa[0,0] prawidłowo ( zmienia sie wartość stringa, i wielkość czcionki). Nie wiem dlaczego nowe własciwosci obiektu nie sa przekazywane do pola tekstowego
komentarz 4 czerwca 2018 przez NowyUrzydgownig Mądrala (5,090 p.)
zrob tak jak ci napisalem.

1 odpowiedź

0 głosów
odpowiedź 19 czerwca 2018 przez raftom Użytkownik (660 p.)
wybrane 4 lipca 2018 przez polsky
 
Najlepsza

Nie wiem czy to coś pomoże bo nie wiedzę całego twojego kodu ale sprawdź te rzeczy:

Czy tabela textBox jest wypełniana? i kedy!!!!!! Chodzi mi o to już w xamlu deklarujesz TextBox np.

<TextBox Name="TBNo_0_1"  Background="#FF85B959" FontFamily="Times New Roman" />

Metoda InitializeComponents() go tworzy i według mnie tabelka textBox powinna wyglądać tak

TextBox[,] txtBox = NULL;

public MainWindow()
{
       InitializeComponent();

       txtBox = new TextBox[1, 3] {{ TBNo_0_0, TBNo_0_1, TBNo_0_2 }};

        StylTekstu(0, 0);
        StylTekstu(0, 1);
        StylTekstu(0, 2);
}

Teraz twoja metoda StylTekstu() powinna zadziałać (wywal returna na końcu oczywiście i zmień na typ void)

komentarz 4 lipca 2018 przez polsky Nowicjusz (230 p.)
Dzięki , zadziałało :)

Podobne pytania

0 głosów
1 odpowiedź 323 wizyt
pytanie zadane 15 września 2016 w C# przez jankustosz1 Nałogowiec (37,030 p.)
0 głosów
0 odpowiedzi 518 wizyt
pytanie zadane 17 grudnia 2021 w C# przez Ilmefy Obywatel (1,950 p.)
0 głosów
1 odpowiedź 357 wizyt
pytanie zadane 27 maja 2019 w C# przez Anon LVL 1000 Użytkownik (690 p.)

93,731 zapytań

142,669 odpowiedzi

323,286 komentarzy

63,291 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...