如何使用图形方法传递参数?示例如下

时间:2010-03-21 18:53:48

标签: c# winforms

private static void getCorners(out float Wx, out float Wy, out float Vx, out float Vy)
{
    // note-- I don't know how to flip the Y axis using this method...
    // this is not a "graphics" method
    // In other words, I should use something like:
    //    flipY(object sender, System.EventArgs e);
    // but don't know the syntax or whatever 

    // I tried to do this:
    //Graphics g = this.CreateGraphic
    //Matrix myMatrix2 = new Matrix(1, 0, 0, -1, 0, 0);  // flip Y axis
    //g.Transform = myMatrix2;
    //g.TranslateTransform(0, 480, MatrixOrder.Append);
    // ...but I get the error:
    // error CS0026: Keyword 'this' is not valid in a static property, static method, or 
    // static field initializer

    Wx = 1.00F;
    Wy = 1.00F;  // make this 1.00 (not 3.00F) down from the TOP since cannot get Y flipped
    Vx = ((Wx- WXmin)*((VXmax-VXmin)+VXmin)/(WXmax-WXmin));  
    Vy = ((Wy-WYmin)*(VYmax-VYmin)/(WYmax-WYmin)+VYmin);
}

1 个答案:

答案 0 :(得分:1)

您的代码的主要问题 - 它无法编译的原因 - 是您尝试从静态方法调用实例方法(通过this关键字)。

static方法中删除getCorners关键字应该可以帮到您。除此之外,我对你的要求有点不清楚。有关Windows窗体中图形编程的更多帮助,这里有一个简短的教程。

http://www.techotopia.com/index.php/Drawing_Graphics_in_C_Sharp