Další šance dokončit svůj projekt a získat ceny v hodnotě 10.000 Kč! Pokračování úspěšné letní soutěže - ITnetwork winter
Avatar
froshy
Člen
Avatar
froshy:2. prosince 17:22

Snazim sa zmenit pozadie Main Form s triedy Class.

Zkusil jsem: Form ( Desktop )

namespace wallpaper
{
        /// <summary>
        /// Description of MainForm.
        /// </summary>
        public partial class MainForm : Form
        {
                public MainForm()
                {
                        InitializeComponent();
                        Class1 c = new Class1();
                        c.Changewallpaper(this);
                }
        }
}

Wallpaper ( Class )

using System;

namespace wallpaper
{
        /// <summary>
        /// Description of Class1.
        /// </summary>
        public class Class1
        {
                public Class1()
                {
                }

                public void Changewallpaper(MainForm f)
                {
                        f.BackgroundImage = Image.FromFile(@"default.pmg");
            f.BackgroundImageLayout = ImageLayout.Stretch;
                }
        }
}

Chci docílit: Ahojte robim kompenzacne pomocky pre svalovych dystrofikov, momentalne pisem novu verziu a rozhodol som sa nanovo napisat cely program, kvoli zefektivneniu kodu a uprataniu bordelu. V kode sa niektore funkcie opakovali co som uspesne uprata. Momentalne chcem s Form ( desktop ) odsunut nepotrebne veci fo tried. Narazil som na problem, snazim sa zmenit pozadie v Form ( desktop ) s triedy ( Wallpaper ) a nefunguje to. Dufam ze mi poradite s tymto problemom.

 
Odpovědět
2. prosince 17:22
Avatar
froshy
Člen
Avatar
froshy:2. prosince 17:25

Toto je bordel co chcem upratat, mna zaujima hlavne pozadie podla toho uz nebude tazke upratat ostatne.

public void MainFormLoad(object sender, EventArgs e)
       {
           // Default setup for frame
           this.ControlBox = false;
           this.FormBorderStyle = FormBorderStyle.None;
           this.WindowState = FormWindowState.Maximized;
           Menu_panel.BackColor = Color.Black;
           Menu_panel.Size = new Size(Screen.PrimaryScreen.WorkingArea.Width, 100);
           Menu_panel.BackColor = Color.FromArgb(100, 88, 44, 55);
           this.Location = new Point(0, 0);
           this.WindowState = FormWindowState.Maximized;
           this.DoubleBuffered = true;
           this.Text = "KP6.2";

           // Hide object
           ClockOnDekstop.Text = null;

           // Create desktop
           ls.To();
           if (!(ls.DesktopWallpaper == ""))
           {
               try
               {
                   this.BackgroundImage = Image.FromFile(@ls.DesktopWallpaper);
                   this.BackgroundImageLayout = ImageLayout.Stretch;
               }
               catch (Exception Error) { Senderror.SendTelemetry("Canot load wallpaper" + Error); }
           }
           AddShorcutsToDM();
           AddUtils2dekstop();

           // Clock setup
           try
           {
               ClockOnDekstop.Font = new Font("Bauhaus 93", 50);
               ClockOnDekstop.Size = new Size(210, 100);
               ClockOnDekstop.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width - ClockOnDekstop.Width) - 100, 15);
           }
           catch
           {
               ClockOnDekstop.Font = new Font("Times New Roman", 50);
               ClockOnDekstop.Size = new Size(200, 100);
               ClockOnDekstop.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width - ClockOnDekstop.Width) - 150, 15);
           }
           ClockOnDekstop.BackColor = Color.Transparent;
           ClockOnDekstop.ForeColor = System.Drawing.ColorTranslator.FromHtml(ls.ColorForLabel);
           Left_click.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width - Left_click.Width) - 400, 0);
           Switch_app.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width - Switch_app.Width) - 310, 0);
           vkeyboard.Location = new Point(0, 0);
           // Timer seting
           GetRealTime.Interval = 100;
           GetRealTime.Start();
           GetRealTime.Tick += Timer1_Tick;

           GetRealMousePosition.Interval = Convert.ToInt32(ls.SetupTimer);
           GetRealMousePosition.Start();
           GetRealMousePosition.Tick += Timer2_tick;

           LeftClick.Interval = Convert.ToInt32(ls.SetupTimer);
           LeftClick.Tick += LeftClickTick;

           HideShow.taskbar("Hide");
       }
 
Nahoru Odpovědět
2. prosince 17:25
Avatar
Odpovídá na froshy
Michal Štěpánek:2. prosince 17:44

A nefunguje ti co? Nenačte se ti ten obrázek? Je cesta k obrázku správně?
Nemůže to být třeba tím, že obrázek je s koncovkou *.png a ty tam máš *.pmg?

Nahoru Odpovědět
2. prosince 17:44
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na froshy
Michal Štěpánek:2. prosince 17:49

Když už ten program děláš kompletně "nový", nebylo by lepší ho udělat rovnou v novějším WPF, než ho pytlíkovat v umírajícím WinForms?
Ve WPF jsou výrazně lepší možnosti grafických efektů a vůbec je to novější technologie, která toho umí mnohem víc, než WinForms...

Nahoru Odpovědět
2. prosince 17:49
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
froshy
Člen
Avatar
Odpovídá na Michal Štěpánek
froshy:2. prosince 17:51

Ked sa snazim zmenit pozadie v Form cez triedu tak to nejde. Furt hlasi chybu v tomto kode a nie je to tym ze mam napisane zle png. Proste toto pise:

using System;

namespace wallpaper
{
        /// <summary>
        /// Description of Class1.
        /// </summary>
        public class Class1
        {
                public Class1()
                {
                }

                public void Changewallpaper(MainForm f)
                {
                        f.BackgroundImage = Image.FromFile(@"default.png");
            f.BackgroundImageLayout = ImageLayout.Stretch;
                }
        }
}
 
Nahoru Odpovědět
2. prosince 17:51
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na froshy
Michal Štěpánek:2. prosince 17:54

Když na ty podtržené výrazy najedeš myší, co ti napíše "intelisence"?
Nechybí ti nějaký using? Třeba System.Windows nebo něco takového?

Nahoru Odpovědět
2. prosince 17:54
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
froshy
Člen
Avatar
Odpovídá na Michal Štěpánek
froshy:2. prosince 17:54

Do WPF sa moc nehrniem aj ked som to skusal portovat. Uz by som to nervovo nezvladol ladit programy ktory pouziva WPF este aj pre Linux.

 
Nahoru Odpovědět
2. prosince 17:54
Avatar
froshy
Člen
Avatar
Odpovídá na Michal Štěpánek
froshy:2. prosince 17:58

Dik mal si pravdu chybala mi tam kniznica :D ktoru som neskusal.

 
Nahoru Odpovědět
2. prosince 17:58
Avatar
Odpovídá na froshy
Michal Štěpánek:2. prosince 18:00

Jsem rád, že jsem ti pomohl... :-)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
2. prosince 18:00
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.