Wątek przeniesiony 2016-06-01 13:39 z C# i .NET przez ŁF.

przekazywanie danych z jednego okna do drugiego

0

Chciałbym w jednym oknie wpisać tekst i za pomocą przycisku wysłać go do drugiego okna. Widziałem filmiki na yt jak to się robić, jednak tam przesyła się z form1 do form2 (ja mam window, nie wiem czy to jakaś różnica).Problem w tym, że wyskakuje mi błąd:
A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll
Additional information: Nie odnaleziono pasującego konstruktora w typie „WpfApplication2.MainWindow” Do skonstruowania tego typu można użyć dyrektywy Arguments lub FactoryMethod., numer wiersza 4, pozycja 70.

W oknie, gdzie ma być wyświetlana wartość mam taki kod:
public MainWindow(string value)
{
InitializeComponent();
tekst.Text = value;
}

Natomiast w przycisku przesłana coś takiego:
private void ok_Click(object sender, RoutedEventArgs e)
{
MainWindow frm = new MainWindow(wyswietlacz1.Text);
frm.ShowDialog();
//ewentualnie frm.Show();
}

0

Hej, załóżmy tak : mamy główne okno, naciskając przycisk 'dodaj' wyświetla się nam nowe okno, z którego chcemy pobrać następnie dane do okna głównego .

 private void btnDodajCzytelnika_Click(object sender, RoutedEventArgs e)
        {

             Window1 oknododajczytelnik = new Window1(this); 
            oknododajczytelnik.Owner = this; 
            oknododajczytelnik.ShowDialog(); //otwiera nam się Window1
           
                listaCzytelnikow.Add(ck.GenerujCzytelnika(oknododajczytelnik.txtImie.Text, oknododajczytelnik.txtNazwisko.Text, Convert.ToInt32(oknododajczytelnik.txtWiek.Text))); //tutaj dodawałem dane z okna z formularza do listy czytelników, Tobie może do innych rzeczy będzie potrzebne :)
             
               
           
            
         }
 

kod w oknie formularzem do wypełnienia(Window1)


     public partial class Window1 : Window
    {
      

       
        MainWindow mainwindow;
        public Window1(MainWindow mainwindow)
        {
            this.mainwindow = mainwindow;
            InitializeComponent();

        }
 
0

Dzięki, ale jakoś tego nie widzę. Masz okno główne "MainWindow", w którym jest przycisk dodaj (to nie ten "DodajCzytelnika"), po kliknięciu wyświetla nam się wtedy okno "Window1", w którym jest TextBox do wypełnienia tak? A przycisk jakiś tam jest do wysłania do "MainWindow"?

0

[...] exception [...] PresentationFramework.dll
nie odnaleziono [...] WpfApplication2.MainWindow

WPF to nie to samo co WF. Patrząc na kod to coś i źle przepisałeś z tego poradnika bo najprawdopodobniej to wyglądało mniej więcej tak :

 
Form1 : Form
{
    public Form()
    { /*blablabla*/}
    private void ShowSecondWindow(/*jakies args*/);
    {
          From2 f2 = new Form("Tutaj ma być jakiś string");
          f2.ShowDialog(); // Albo na nowym thread'dzie to odpal - ale to Ci styknie
    }
}

Form2 : Form
{
    public Form2(string txt)
   {
       this.jakisLabel.Text = txt;
   }
}

W błędzie pisze Ci, że nie znalazło tam odpowiedniego konstruktora. Lepiej póki co zostaw to WPF i klepnij to mniej wiecej tak jak ja ci napisałem.
Pozdr.

0

Temat poruszany w co trzecim wątku na forum. Użyj wyszukiwarki :/

0

Właśnie chodzi o to, że znajduję jak to zrobić ale tylko dla WF, a musi być koniecznie WPF...

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