Diskuze: Zmena pozadia v Form cez Class
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
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");
}
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?
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...
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;
}
}
}
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?
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.
Dik mal si pravdu chybala mi tam kniznica ktoru som neskusal.
Jsem rád, že jsem ti pomohl...
Zobrazeno 9 zpráv z 9.