error CS0177: The out parameter 'Wx' must be assigned to before control leaves the current method

Posted by sonny5 on Stack Overflow See other posts from Stack Overflow or by sonny5
Published on 2010-03-25T02:35:41Z Indexed on 2010/03/25 2:43 UTC
Read the original article Hit count: 1253

Filed under:

using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;

public class Form1 : System.Windows.Forms.Form {

public static float WXmin;
public static float WYmin;
public static float WXmax;  
public static float WYmax;  
public static int   VXmin;
public static int   VYmin;
public static int   VXmax;
public static int   VYmax;  
public static float Vx; 
public static float Vy;

public Form1()
{
  InitializeComponent();
}

private void InitializeComponent()
{
  //this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
  this.ClientSize = new System.Drawing.Size(400, 300);
  this.Text="Pass Args";
  this.Paint += new System.Windows.Forms.PaintEventHandler(this.doLine);
}

static void Main() 
{
  Application.Run(new Form1());
}

private void doLine(object sender, System.Windows.Forms.PaintEventArgs e)
{
  Graphics g = e.Graphics;
  g.FillRectangle(Brushes.White, this.ClientRectangle);
  Pen p = new Pen(Color.Black);
  g.DrawLine(p, 0, 0, 100, 100);  
  p.Dispose();
}

private void eachCornerPix (object sender, PaintEventArgs e, out float Wx, out float Wy, out float Vx, out float Vy)
{
  Graphics g = this.CreateGraphics();
  Pen penBlu = new Pen(Color.Blue, 2);
  SolidBrush redBrush = new SolidBrush(Color.Red);
  int width = 2;    // 1 pixel wide in x
  int height = 2;
  float [] Wxc = {0.100f, 5.900f, 5.900f, 0.100f}; 
  float [] Wyc = {0.100f, 0.100f, 3.900f, 3.900f}; 
  for (int i = 0; i<3; i++)
  {
    Wx = Wxc[i];
    Wy = Wyc[i];
    Vx = ((Wx - WXmin)*((VXmax-VXmin)+VXmin)/(WXmax-WXmin));  
        Vy = ((Wy - WYmin)*(VYmax-VYmin)/(WYmax-WYmin)+VYmin); 
        Console.WriteLine("eachCornerPix Vx= {0}", Vx);
        Console.WriteLine("eachCornerPix Vy= {0}", Vy);
        g.FillRectangle(redBrush, Vx, Vy, width, height);
    g.Dispose();
  }
    // Desired effect: Use the array values (Wxc, Wyc) and re-assign them to Wx and Wy. Then use
    // Wx and Wy as components to calculate Vx and Vy.
    // My end goal...once compile issues are resolved, is to pass each array value listed
    // using this method. This should allow 4 xy point pairs to be plotted. 

    // Errors:
    // pass1.cs(51,18): error CS0177: The out parameter 'Wx' must be assigned to before
    // control leaves the current method
            // pass1.cs(51,18): error CS0177: The out parameter 'Wy' must be assigned to before
    //  control leaves the current method
            // pass1.cs(51,18): error CS0177: The out parameter 'Vx' must be assigned to before
    // control leaves the current method
            // pass1.cs(51,18): error CS0177: The out parameter 'Vy' must be assigned to before
    // control leaves the current method

}

}

© Stack Overflow or respective owner

Related posts about c#