Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
froshy
Člen
Avatar
froshy:2.12.2019 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.12.2019 17:22
Avatar
froshy
Člen
Avatar
froshy:2.12.2019 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.12.2019 17:25
Avatar
Odpovídá na froshy
Michal Štěpánek:2.12.2019 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.12.2019 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.12.2019 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.12.2019 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.12.2019 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.12.2019 17:51
Avatar
Odpovídá na froshy
Michal Štěpánek:2.12.2019 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.12.2019 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.12.2019 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.12.2019 17:54
Avatar
froshy
Člen
Avatar
Odpovídá na Michal Štěpánek
froshy:2.12.2019 17:58

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

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

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

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
2.12.2019 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.