Tablica przycisków -

Tablica przycisków -
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam!
Mam taki kod:

Kopiuj
public Canvas[] foo = new Canvas[1];
//nie mogę się do niego odwołać np.
//w inicjalizacji okna chcę się do niego odwołać
foo[c].Name = "foo" + c; //wyjątek - NullReferenceException was unhandled by user code;

Gdzie jest problem?

fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
1

Pewnie problem leży w tym, że tablica to już jest, ale obiektów w niej nie ma...

  • Rejestracja: dni
  • Ostatnio: dni
0
fourfour napisał(a):

Pewnie problem leży w tym, że tablica to już jest, ale obiektów w niej nie ma...

Czy mógł byś powiedzieć lub naprowadzić jak dodać takie obiekty do tablicy?

przepraszam za moje banalne pytania ale jestem początkujący

T2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 194
1

Opisz dokładniej co chcesz zrobić to lepiej będziemy mogli pomóc.

AL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 308
1

może wystarczy:

Kopiuj
foreach (Canvas canvas in foo) canvas = new Canvas();

?

  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
 
public MainWindow()
{ 
    InitializeComponent();
    int s = 50;
    for (var c = foo.Length - 1; c > 0; c--)
    {
        foo[c] = new Button();
        foo[c].Width = s; foo[c].Height = s; foo[c].Background = new SolidColorBrush(Color.FromRgb(128, 64, 32));
        wrapPanel1.Children.Add(foo[c]);
    }
}

Czemu nie wyświetlają się te przyciski w wrappanel?

dam1an
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1589
0

U mnie działa.
WrapPanel masz dodany?

Trebuh
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: okolice Łodzi
0

Jasne mam taki kod w XAML:

Kopiuj
<WrapPanel Height="157" HorizontalAlignment="Left" Margin="12,128,0,0" Name="wrapPanel1" VerticalAlignment="Top" Width="395">
            
</WrapPanel>
dam1an
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1589
1

No to też tak mam, przed tym kodem w c# jeszcze Button[] foo = new Button[5]; i działa wsio.

  • Rejestracja: dni
  • Ostatnio: dni
0

Przydały by się jednakowe zdarzenia do tej tablicy ;)
Pomożecie?

Degusto
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Piła
  • Postów: 70
1

Jeśli chodzi Ci o takie same zdarzenia dla każdego buttona to możesz tak:

Kopiuj
for (int i = 0; i < 5; i++)
{
    foo[i].Click += Button_Click;
}
Kopiuj
private void Button_Click(object sender, EventArgs e)
{
    MessageBox.Show("Takie samo zdarzenie");
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.