Keresés

Új hozzászólás Aktív témák

  • -Bálint.

    csendes újonc

    válasz sztanozs #7621 üzenetére

    Ez, hogy a "másik form referenciája kell" sokat segített. Utánanéztem, hogy ez pontosan mit is jelent, és sikerült. Köszönöm :) :DD (Átírtam a konstruktorokat.)
    Azt meg rosszul gondoltam, hogy származtatás esetén nem fognak öröklődni a kontrollerek, mert ez így normális hogy azok is öröklődnek.

  • -Bálint.

    csendes újonc

    válasz sztanozs #7619 üzenetére

    Az eredeti gyakorló feladatban azért származtattam, hogy egy tömböt (List<T> típusút) a Form2-ben is feltudjak tölteni, ne csak a Form1-ben. Biztos, hogy kell tudni a származtatást, mert az órán is vettük. Augusztus végi vizsgára készülök. Ezzel a projekttel szórakozok egyébként. Fut, de elfogadhatatlan a kinézete a Form2-nek.


    .

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Collections;

    namespace WindowsFormsApplication4
    {
    public partial class Form1 : Form
    {
    public List<Ceg> cegek = new List<Ceg>();

    public Form1()
    {
    InitializeComponent();
    }

    private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
    {
    textBox1.Text = dateTimePicker1.Value.DayOfWeek.ToString();
    }

    private void button1_Click(object sender, EventArgs e)
    {

    //try
    //{
    //StreamReader str = new StreamReader("C:\\Users\\Katalin\\Letöltések\\cégtár.txt");
    StreamReader str = new StreamReader(@"..\..\..\cégtár.txt");

    while (!str.EndOfStream)
    {
    Ceg c = new Ceg();
    string[] adatok = str.ReadLine().Split(';');
    c.Nev = adatok[0];
    c.Hely = adatok[1];
    c.Dbtelep = int.Parse(adatok[2]);
    c.Irszam = adatok[3];
    c.Szam = adatok[4];
    c.Bejegyzes = DateTime.Parse(adatok[5]);
    cegek.Add(c);
    gyujto.Items.Add(c.Nev);

    }
    str.Close();
    //}
    //catch //(FileNotFoundException fnfe)
    //{
    // MessageBox.Show("Elkaptalak.");
    //}
    errorProvider1.SetError(button1, "Próba");
    }

    private void textBox2_Leave(object sender, EventArgs e)
    {
    StreamWriter w = new StreamWriter(@"..\..\..\kiírtttt.txt", false);
    //for (int i = 0; i < 5; ++i)
    //{
    // string a, b, p, d, f, g;
    // a = cegek[0].ToString();
    // b = cegek[1].ToString();
    // p = cegek[2].ToString();
    // d = cegek[3].ToString();
    // f = cegek[4].ToString();
    // g = cegek[5].ToString();

    // w.WriteLine(a + "; " + b + "; " + p + "; " + d + "; " + f + "; " + g);
    //}

    foreach (Ceg koztes in cegek)
    {
    w.WriteLine(koztes.Nev + "; " + koztes.Hely + "; " + koztes.Dbtelep + "; " + koztes.Irszam + "; " + koztes.Szam + "; " + koztes.Bejegyzes);
    }
    w.Close();
    }

    private void button2_Click(object sender, EventArgs e)
    {
    MessageBox.Show(cegek[1].Nev.ToString());
    }

    private void ujCegToolStripMenuItem_Click(object sender, EventArgs e)
    {
    Form2 ujceg = new Form2();
    ujceg.Show();

    }

    private void gyujto_SelectedIndexChanged(object sender, EventArgs e)
    {
    tbHely.Text = cegek[gyujto.SelectedIndex].Hely;
    tbDbTelep.Text = cegek[gyujto.SelectedIndex].Dbtelep.ToString();
    tbBejegyzes.Text = cegek[gyujto.SelectedIndex].Bejegyzes.ToString();
    }

    }
    }

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace WindowsFormsApplication4
    {
    public partial class Form2 : Form1
    {
    public Form2()
    {
    InitializeComponent();
    tbNev.Focus();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    Ceg d = new Ceg();
    d.Nev = tbNev.Text;
    d.Hely = tbHely.Text;
    d.Dbtelep = int.Parse(tbDbTelep.Text);
    d.Irszam = tbIrszam.Text;
    d.Szam = tbSzam.Text;
    d.Bejegyzes = DateTime.Parse(tbBejegyzes.Text);
    cegek.Add(d);
    DialogResult = DialogResult.OK;
    }
    }
    }

  • -Bálint.

    csendes újonc

    válasz sztanozs #7617 üzenetére



    Semmit nem csináltam, csak odaírtam a végére, hogy Form1, és bedöglött, jött a hiba a Design nézetben Form2-höz.
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace WindowsFormsApplication6
    {
    public partial class Form2 : Form1
    {
    public Form2()
    {
    InitializeComponent();
    }
    }
    }

    Egy másik programot csináltam, amikor előjött a hiba, abban azért volt több minden, de arra rájöttem, hogy a hibát ez eredményezi, amit ide bemásoltam. Az is lehet, hogy beállítás, vagy hardver probléma van. (Lenovo B41, Windows 10 64 bit, intel proci, Visual Studio 2012) Ha tanórai verziót nyitok meg, ahol már van több form is, ott nincs probléma, és a kódban nem látok különbséget.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace WindowsFormsApplication6
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    }
    }

    Köszi a segítséget! :))

  • -Bálint.

    csendes újonc

    Sziasztok!

    Segítségre lenne szükségem.
    Nem tudom helyesen megoldani az örökítést Visual Studioban. Csináltam két formot (Form1, Form2), és amikor a Form2.cs-ben a Form2 után kettősponttal beírom a Form1-et a Form2.cs[Design] nézet a következő hibával tér vissza:

    The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: Form2 --- The base class 'WindowsFormsApplication6.Form1' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.

    Ha teszek egy gombot Form1-re, és nyomok egy Clean Solutiont, majd utána egy Build Solutiont, akkor a Form2-őn is megjelenik a gomb egy kis lakattal a bal fölső csücskében. Semmit nem lehet vele csinálni, se mozdítani, se Click eljárást írni, semmit.

    Miért van ez a hiba, miért jelenik meg a Form2-őn is a gomb?

Új hozzászólás Aktív témák

Hirdetés