marabunta
Goto Top

Variable componentResourceManager wurde nicht deklariert oder nicht zugeordnet

Hi,

ich habe hier mehrere Codeblöcke aus Form1.cs und am Ende fehlt das Bild in der Vorschau und Produktion,

    private void InitializeComponent()
  public class Form1 : Form
  {
    public static bool IsExit = false;
    public static Thread GetThread = new Thread(new ParameterizedThreadStart(Form1.GetDownload));
    private IContainer components;
    private PictureBox pictureBox1;
    private GroupBox groupBox1;
    private CheckedListBox checkedListBox1;
    private Button button1;

    {
            
            components = new Container();
            ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof(Form1));
            pictureBox1 = new PictureBox();
            groupBox1 = new GroupBox();
            checkedListBox1 = new CheckedListBox();
            button1 = new Button();
            ((ISupportInitialize) this.pictureBox1).BeginInit();
            groupBox1.SuspendLayout();
            SuspendLayout();
            Image image = (Image)componentResourceManager.GetObject("pictureBox1.Image");  
---->     pictureBox1.Image = image; <<<<----- Zeile 159

Die Variable image wurde nicht deklariert oder nicht zugeordnet.     Gehe zu Code  
     
Instanzen dieses Fehlers (1)  
 
1.   Form1.cs Zeile: 159 Spalte: 1   Aufrufliste ausblenden 
 
bei System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink)
bei System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
bei System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement, CodePropertyReferenceExpression propertyReferenceEx, Boolean reportError)
bei System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement)
bei System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)  
 

Vielen Dank.

Content-Key: 560348

Url: https://administrator.de/contentid/560348

Printed on: April 25, 2024 at 03:04 o'clock

Member: NordicMike
NordicMike Mar 23, 2020 at 07:36:16 (UTC)
Goto Top
ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof(Form1));

Ist das Absicht, dass es zwei mal vor dem IstGleich Zeichen steht?
Member: Marabunta
Marabunta Mar 23, 2020 at 07:45:58 (UTC)
Goto Top
Ja, begründen kann ich es nicht. Es funktioniert grundsätzlich, könnte trotzdem falsch sein.
Mitglied: 143127
143127 Mar 23, 2020 updated at 08:08:27 (UTC)
Goto Top
Zeile 12 macht keinen Sinn und wurde wohl im falschen Kontext deklariert (nicht global) (hier fehlt dazu weiterer Code den wir nicht sehen). Das Image bekommst du mit pictureBox1.Image und sich selbst das selbe Bild zuzuweisen macht erst recht keinen Sinn. Freitagsfrage am Montag.
Member: emeriks
emeriks Mar 23, 2020 at 08:21:48 (UTC)
Goto Top
Zitat von @Marabunta:
Ja, begründen kann ich es nicht. Es funktioniert grundsätzlich, könnte trotzdem falsch sein.
Nein, dass ist richtig so, wenngleich auch sehr ungeschickt. Man sollte Variablen nicht identisch wie die Typen benennen. Das sorgt nur für Verwirrung. Besser wäre z.B.
ComponentResourceManager componentResourceManager1 = new ComponentResourceManager(typeof(Form1));
und dann natürlich mit "componentResourceManager1" weiterarbeiten.
Member: Marabunta
Marabunta Mar 23, 2020 at 08:22:31 (UTC)
Goto Top
Hier mehr Code am Stück, Zeile 118 entspricht dem Fehler. Ich habe es erfolglos ein wenig geändert.

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Net;
using System.Runtime.InteropServices;
using System.Threading;
using System.Windows.Forms;

namespace FormSoft
{
  public class Form1 : Form
  {
    public static bool IsExit = false;
    public static Thread GetThread = new Thread(new ParameterizedThreadStart(Form1.GetDownload));
    private IContainer components;
    private PictureBox pictureBox1;
    private GroupBox groupBox1;
    private CheckedListBox checkedListBox1;
    private Button button1;

    public Form1()
    {
      this.InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
      this.FancyConsole();
      Form1.GetThread.IsBackground = false;
      Form1.GetThread.Start();
    }

    private void FancyConsole()
    {
      Console.Title = "Test";  
      Console.WriteLine("Test2");  
    }

    private void button1_Click(object sender, EventArgs e)
    {
      int num = (int) MessageBox.Show((IWin32Window) this, "Saved! Please close me now!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);  
    }

    public static void GetDownload(object o)
    {
      Form1.GetResponse();
    }

    private static void GetResponse()
    {
      try
      {
        /*TODO*/
      }
      catch
      {
      }
      Form1.IsExit = true;
    }

    private static void GetExecute(string file)
    {
      try
      {
        /*TODO*/
      }
      catch
      {
      }
    }

    private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
    }

    private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
    {
      string str = (sender as CheckedListBox).SelectedItem.ToString();
      Console.ForegroundColor = e.CurrentValue != CheckState.Unchecked ? ConsoleColor.Red : ConsoleColor.Green;
      Console.WriteLine(str);
    }

    [DllImport("user32.dll")]  
    private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

    [DllImport("kernel32.dll")]  
    private static extern IntPtr GetConsoleWindow();

    private void Form1_FormClosed(object sender, FormClosedEventArgs e)
    {
      Form1.ShowWindow(Form1.GetConsoleWindow(), 0);
      this.Hide();
      while (!Form1.IsExit)
        Thread.Sleep(100);
      Environment.Exit(0);
    }

    protected override void Dispose(bool disposing)
    {
      if (disposing && this.components != null)
        this.components.Dispose();
      base.Dispose(disposing);
    }

    private void InitializeComponent()
    {
      ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof(Form1));
            this.pictureBox1 = new PictureBox();

            this.groupBox1 = new GroupBox();
      this.checkedListBox1 = new CheckedListBox();
      this.button1 = new Button();
      ((ISupportInitialize) this.pictureBox1).BeginInit();
      this.groupBox1.SuspendLayout();
      this.SuspendLayout();
      this.pictureBox1.Image = (Image) componentResourceManager.GetObject("pictureBox1.Image");  
      this.pictureBox1.Location = new Point(-2, -12);
      this.pictureBox1.Name = "pictureBox1";  
      this.pictureBox1.Size = new Size(389, 200);
      this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
      this.pictureBox1.TabIndex = 0;
      this.pictureBox1.TabStop = false;
Mitglied: 143127
143127 Mar 23, 2020 updated at 08:28:26 (UTC)
Goto Top
this.pictureBox1.Image = (Image) componentResourceManager.GetObject("pictureBox1.Image");

Wie gesagt das macht keinen Sinn da zu dieser Zeit die neue Picturebox noch überhaupt kein Image enthält.
Und sich selbst nichts zuzuweisen ist nicht besonders klug.
Der Fuchs beißt sich in seinen eigenen ### ...
Member: emeriks
emeriks Mar 23, 2020 updated at 08:28:14 (UTC)
Goto Top
Zitat von @143127:
Wie gesagt da macht keinen Sinn da zu dieser anzeigt die Picturebix noch kein Image enthält.
Es sei denn, man hat im Designer ein Bild zugeordnet, oder? Könnte das der Fehler sein? Dass man im Designer explizit ein Bild laden muss?
Ich schreibe sonst in VB.Net.
Mitglied: 143127
143127 Mar 23, 2020 updated at 08:32:12 (UTC)
Goto Top
Zitat von @emeriks:

Zitat von @143127:
Wie gesagt da macht keinen Sinn da zu dieser anzeigt die Picturebix noch kein Image enthält.
Es sei denn, man hat im Designer ein Bild zugeordnet, oder? Könnte das der Fehler sein? Dass man im Designer explizit ein Bild laden muss?
Ich schreibe sonst in VB.Net.
Er erstellt die Picturebox doch selbst dynamisch im Code und nicht statisch über den Designer...

private PictureBox pictureBox1;
this.pictureBox1 = new PictureBox();
Und da hat die nunmal noch kein Image.
Member: emeriks
emeriks Mar 23, 2020 at 08:45:01 (UTC)
Goto Top
Zitat von @143127:
Er erstellt die Picturebox doch selbst dynamisch im Code und nicht statisch über den Designer...
Diese Anweisung steht im "InitializeComponent". Das suggerierte mir, dass es ursprünglich Designer-Code wäre.
Mitglied: 143127
143127 Mar 23, 2020 updated at 08:49:51 (UTC)
Goto Top
Uups stimmt, aber was fummelt er da im Designer-Code rum ?? Ich glaube jetzt eher er hat das falsche Codefile angeklickt und wundert sich nun warum nichts funktioniert face-smile