首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将浮点变量写入标签

将浮点变量写入标签
EN

Stack Overflow用户
提问于 2013-04-26 01:53:32
回答 1查看 2K关注 0票数 1

我使用下面的http://aforge.googlecode.com/svn/trunk/Samples/Imaging/ShapeChecker/MainForm.cs代码,但我需要在变量中写入值​​:中心、半径、角点和标签。但是ProcessImage(Bitmap bitmap)位于class2和class1的需要列表中。

如何将这些变量从类2转移到类1,并将它们转储到文本框中?

代码语言:javascript
复制
class class1
{

    AForge.Point center;
    float radius;
    List<IntPoint> corners;      

    private void ProcessImage( Bitmap bitmap )
    { 
     ...
    }
}

class class2
{
 ??? label1.Text = center + radius + corners... ???
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-26 02:57:42

将您想要从class1获取的数据字段标记为公共。然后,在class2中,根据class1实例化一个对象,您就可以访问这些数据字段了。您可以通过应用内置的.ToString()方法来转换float和Point。您需要遍历列表,然后调用IntPoint.ToString()方法。

代码语言:javascript
复制
class class1
{

    public AForge.Point center;
    public float radius;
    public List<IntPoint> corners;      

    private void ProcessImage( Bitmap bitmap )
    { 
     ...
    }
}

class class2
{
    class1 myClass1 = new class1();
    private void setTextLabel()
    {
        label1.Text = myClass1.center.ToString();
        label1.Text += myClass1.radius.ToString();
        foreach (IntPoint ip in myClass1.corners)
        {
            label1.Text += ip.X.ToString();
            label1.Text += ", ";
            label1.Text += ip.Y.ToString();
        }
    }
}

下面提供了一个完整的、有效的实现。我是作为一个web项目来做这个的。

Class1.cs:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AForge;

namespace stack_question
{
    public class Class1
    {
        public AForge.Point center;
        public float radius;
        public List<IntPoint> corners;

        public Class1()
        {
            center = new AForge.Point(3.3F, 4.4F);
            radius = 5.5F;
            corners = new List<IntPoint>();

            corners.Add(new IntPoint(6, 7));
            corners.Add(new IntPoint(8, 9));
        }
    }
}

Class2.aspx.cs

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AForge;

namespace stack_question
{
    public partial class Class2 : System.Web.UI.Page
    {
        Class1 myClass1 = new Class1();

        protected void Page_Load(object sender, EventArgs e)
        {
            setTextLabel();
        }

        private void setTextLabel()
        {

            label1.Text += "Center: " + myClass1.center.ToString() + "<br/>";
            label1.Text += "Radius: " + myClass1.radius.ToString() + "<br/>";
            foreach (IntPoint ip in myClass1.corners)
            {
                label1.Text += "IntPoint: " + ip.X.ToString();
                label1.Text += ", ";
                label1.Text += ip.Y.ToString() + "<br/>";
            }
        }
    }
}

最后,Class2.aspx:

代码语言:javascript
复制
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Class2.aspx.cs" Inherits="stack_question.Class2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="label1" runat="server" Text=""></asp:Label>
    </div>
    </form>
</body>
</html>

网页上的输出如下所示:

代码语言:javascript
复制
Center: 3.3, 4.4
Radius: 5.5
IntPoint: 6, 7
IntPoint: 8, 9
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16221467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档