Jump to content
GSForum - Segélyvonal

Visual C# 2005 Express Edition


Recommended Posts

Posted

Köszönöm BaseBoy! Mûködik! A másikat majd csak este tudom kipróbálni!

Posted

Tasi: ez sajnos nem működik!

 

Lenne mégegy kérdésem: megcsináltam azt, hogy ha a form1-ben rákattintok egy gombra, akkor megnyitja a form2-őt. Azt meg lehet oldani, hogy amikor futtatom a programot, és nyitva van a form1, és a form2, akkor ha kilépek a form1-ből, ne zárja be a form2-őt is?

Posted

Hi

 

Nah akkor csináld úgy, hogy a visual studio-ban válts tervezõ nézetbe, klikkelj a combobox-ra és a properties panelen klikk az Events-re (sárga villám) keresd ki a KeyDown eseményt, duplán klikkelj rá, utána a generált kódba írd be a feltételt és akkor valahogy így fog kinézni a kód :)

private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        webBrowser1.Navigate(comboBox1.Text);
    }

} 

 

Ez most már biztos menni fog, amúgy ajánlom a Bradley L. Jones C# mesteri szinten 21 nap alatt c. könyvet, mely a Hello World -töl a webes alkalmazások készítéséig mindent leír elég jól, közel 730 oldalon :)

plusz a legtöbb példa után van 1 elég szájbarágos elemzés, hogy mi miért és kivel csinálta azt amit csinált :)

Posted

Lenne mégegy kérdésem: azt hogy lehet megoldani, hogyha rákattintok a button1 gombra, akkor mondjuk nyissa meg az internet explorert.

Posted

Szia!

 

A button click eseményéhez rendeld hozzá az alábbi kódot:

 

System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = @"http://www.pcworld.hu";
myProcess.Start();

 

BB

 

Posted

Bocs hogy ennyit kérdezek, de van mégegy kérdésem /a könyvet majd megpróbálom beszerezni, de addíg is csinálni kell valamit :D /: Az szeretném megoldani valahogy, hogy a windowsos címsor eltûnjön. Tudod az X gomb, a kis méret/nagy méret gomb stb... Lehetséges ez?

Posted

igen, a Form ControlBox tulajdonságát állítsd false- ra

Rosszul írtam az csak a "gombokat" tünteti el :), a FormBorderStyle-t állítsd none-ra ;)

 

Azt, hogy lehet megoldani, hogy 1 Panelnak BackgroundImage-e felbontáshoz igazodjon? Vagy nem is Panellel kéne dolgoznom? :):?:

  • 2 weeks later...
Posted

Azt szeretném megcsinálni, hogy amikor megnyitom a programomat, akkor megjelenik egy szövegdoboz, amibe mondjuk bele kell írni egy jelszót, és csak utána enged tovább. Lehetséges ez?

Posted

Szia!

 

Persze, hogy lehetséges. Itt van egy megoldási lehetõség a sok közül:

Hozzál létre egy új formot, tegyél rá minden olyan control -t, ami egy bejelentkezéshez kell. (felhasználónév, jelszó bekérõ, OK és Canacel gombok stb...) A program indulásakor ez a form nyíljon meg. Az OK gomb click eseményéhez rendelj hozzá egy feltételvizsgálatot, valahogy így:

 

if(megadott_felhasználónév == saját_felhasználónév && megadott_jelszó == saját_jelszó)
{
        // pl. új form megnyitása
}
else
{
       // pl. ismételt próbálkozás, program bezárása, stb...
}

 

Valahogy így próbáld meg.

 

BB

Posted

Köszönöm a választ! Lenne még egy kérdésem:

Ha ezt megcsinálom: FormBorderStyle: none , akkor ugye eltûnik a szokásos windows címsor. Hogy lehet azt megyinálni, hogy így /címsor nélkül/ is lehessen mozgatni a form-ot?

Posted

Köszönöm a válaszodat! Tökéletesen mûködik! De az alábbi kódot, valamiért nem akarja mûködtetni. Van egy comboBoxom, és szeretném, ha csak egyszer /a telepítés után/ kellene beírni a jelszót, és utána minden indításnál megjegyezné. Lehetséges ez?

 

 

@Jaky: nos, alább látsz egy fajta megoldást a problémádra, hozzáteszem más megoldás is létezhet, ez csak egy a sok közül. Próbáltam egyszerûen megcsinálni. A form eventjei között találsz egy Load és egy FormClosed eventet, oda is beteheted a kódot, így a program indításakor betölti, majd bezárásakor kimenti a lemezre a böngészõd tartalmát.

 

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
   // létrehozok egy szeparátot, ezzel fogom elválasztani az elemeket a fileban
   char separator = (char)0x1D;

   // FileStream segítségével írom ki az adatot a megadott fileba, itt: c:\PCWorldBrowserCache.dat
   System.IO.FileStream fs = new System.IO.FileStream("c:\\PCWorldBrowserCache.dat", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);

   // megnézem, hogy van-e elem a comboboxban
   if (comboBox1.Items.Count > 0)
   {
       // létrehozok egy temp típusú tömböt, ahova majd eltárolom a combobox elemeit
       string[] temp = new string[comboBox1.Items.Count];

       for (int i = 0; i < comboBox1.Items.Count; i++)
       {
           // itt tárolom el
           temp[i] = comboBox1.Items[i].ToString();
       }

       // a temp tömb értékét összefûzöm egy stringgé, az elemek közé eleteszem a szeparátoromat
       string toFile = string.Join(separator.ToString(), temp);

       // a toFile tömböt byte típusúvá alakítom
       byte[] writeData = System.Text.Encoding.ASCII.GetBytes(toFile);

       // kiírom filba a writeData tömböt
       fs.Write(writeData, 0, writeData.Length);

       // végül lezárom a filet
       fs.Close();
   }                   
}

private void Form1_Load(object sender, EventArgs e)
{
   // létrehozok egy szeparátot, ezzel fogom elválasztani az elemeket, amiket betöltök a filebón
   char separator = (char)0x1D;

   // ismét létrehozom a FileStream -et
   System.IO.FileStream fs = new System.IO.FileStream("c:\\PCWorldBrowserCache.dat", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Read);

   // létrehozok egy tömböt az adatok beolvasására
   byte[] readData = new byte[fs.Length];

   // beolvasom az adatokat a fájlból
   fs.Read(readData, 0, readData.Length);

   // a readData tartalmát átalakítom string típusúvá, majd a szeparátor mentén szétszedem a stringet egy string tömbe
   string[] cboxItems = System.Text.Encoding.ASCII.GetString(readData).Split(separator);

   // ha van elem a tömben
   if (cboxItems.Length > 0)
   {
       // hozzáadom a combobox elemeihez
       foreach (string temp in cboxItems)
       {
           comboBox1.Items.Add(temp);
       }
   }

   // végül lezárom a filet
   fs.Close();
}

Erre gondoltál? Sok sikert hozzá!

Üdv.: BB

 

Posted

Szia!

 

Ha jelszót akarsz megjegyezni, akkor azt valahová el kell mentened. (pl. file, registry, stb.) Miután elindul ismét a programod meg kell nézni, hogy létezik az elmentett jeszó. Ha igen belépsz a programba, ha nem, megjeleníted ismét a jelszó bekérõ ablakot.

Én valahogy így csinálnám meg.

Posted

Egy példát tudnál írni? Ilyet még nem csináltam. :(

Posted

Szia!

 

Persze, szivesen. Mond meg, hogy milyen formában (kódolva, nem kódolva) és hol (file, registry...) akarod tárolni a jelszavadat és írok rá osztály és példát is.

Posted

Kódolva szeretném, és a registryben tárolja! Elõre is köszi!!! :D

  • 2 weeks later...
Posted

Szia Dózsi!

 

Megkaptad a kódot? Már 1 hete elküldtem, nem kaptam visszajelzést.

 

BB

Posted

Persze megkaptam! :D Csak még idõm nem volt hozzá...

  • 3 weeks later...
Posted

Nos lenne még 4 kérdésem:

1. Telepítettem a Visual Studio C# trial változatát, így tudok setup.exe-t kreálni. Hogy lehet azt beállítani, hogy pl: a C:/Program Files/xy mappába telepítse?

2. Hogyan lehet megoldani hogy a másolás/kivágás/beillesztés mûveletek is benne legyenek a programban.

Egy szerkesztés nevû menübe szeretném ha benne lenne ez a 3 mûvelet.

3. Megoldható-e az, hogy ha egy új ablakban nyílik meg egy honlap, akkor az ne az internet explorerrel nyíljon meg, hanem a saját böngészõmmel.

4. Van egy combobox, és egy button. Ha a comboboxba mondjuk az van beleírva hogy "12345" vagy "xy", akkor a button-ra kattintva egy új form nyílik meg. Azt szeretném, hogy ha sikeresen írtam be a jelszót, akkor azt jegyezze meg a program, hogy legközelebb ne kelljen beírni.

  • 3 weeks later...
Silent Psycho
Posted

Van két formom (Form1, Form2), a Form1-en van egy gomb. A gombra kattintva szeretném megváltoztatni a Form2 Text-jét.

Hogyan tudnám ezt megcsinálni?

  • 2 weeks later...
Silent Psycho
Posted

Sikerült megoldanom.

 

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

        Form2 form2;

        private void Form1_Load(object sender, EventArgs e)
        {
            form2 = new Form2();
            form2.Show();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            form2.Text = "Szöveg";
        }
    }
}

Posted

Sziasztok!

 

A segítségeteket szeretném kérni egy témában! C#ban hogy lehet azt megoldani, hogy egy adott mappa tartalmát jelenítse meg egy treeviewban, de almappákkal együtt. Azt már sikerült megcsinálnom, hogy egy mappában szereplõ mappákat kiírja, de az azon belüli mappaszerkezet már nem kerül bele a fába. Ha jól gondolom, akkor valami ciklusfélével kellene végigmennem a mappákon és azzal ugyan azzal a módszerrel hozzáadogatni a gyerek ágakat, de erre nem tudtam rájönni hogy hogy is lehet ezt. Gondoltam arra hogy egy kezdetleges megoldásnak megfelelne az is, ha a SelectedNode NextNode paraméterét hasznánám fel, ám itt abba az akadályba ütköztem, hogy nem tudom megnyitni a fa ágát. Vagyis áll az egész és nem csinál semmit. Ha azt tudja valaki, hogy hogyan lehetséges a fa ágait nyitni-csukni, akkor azzal már elõrébb lennék a végleges megoldáshoz.

 

Elõre is köszönöm segítségeteket:

Attila

Posted

Ha jól értem problémád van a fához fűzéssel. A helpben ezt találtam, szerintem ezt keresed:

// Adds new node as a child node of the currently selected node.
TreeNode newNode = new TreeNode("Text for new node");
treeView1.SelectedNode.Nodes.Add(newNode);

 

Az almappák megkereséséhez szerintem gráfbejáráson érdemes gondolkodni. Ami most fejből eszembe jut, az a mélységi bejárás. A lényege, hogy készítesz egy sort, melynek elemi pl. a levél-típusúak (tehát amiből épül a fa). Persze lehet másképp is. A gyökérből indulsz, és a fa minden olyan elemét beteszed a sorba, ami innen közvetlenül elérhető. Ezután folyamatosan olvasod ki a sort (értsd: ciklust használsz) amíg az üres nem lesz. És minden kiolvasott elemre eljátszott a fenti módszert, hogy (ugyan ebbe) a sorba teszed a belőle közvetlenül elérhetőeket. Most jut eszembe, hogy mivel nem irányított faszerkezetről van szó, egy halmaztípust is használni kell, és ide minden már megvizsgált elemet beteszel, és a sorba csak akkor kerül egy elem, ha nincs a halmazban.

Posted

Ok, köszönöm. Megpróbálom megvalósítani, ha kész lesz majd megosztom itt is, ellenkezõ esetben a kérdésemmel térek vissza :)

  • 2 weeks later...
Posted

Hali

 

 

A PcWorlDataBase mintájára csinálok egy kis programot. Van a form-on 3 label és a text tulajdonságaikat az adatbázisból kapják, nos kérdésem az, hogy hogy valósítsam meg azt, ha kattintok egy buttonra a következõ sor értékei kerüljenek a label-ekre :?:

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...