C ++:在表单中附加文本

时间:2011-04-04 21:35:14

标签: c++ winforms forms textbox clr

我已经离开C ++一段时间了,可能只是我是愚蠢的,但为什么这会给我一个错误(错误低于代码)。

代码:

// NetworkServer.cpp : main project file.

#include "stdafx.h"
#include "Form1.h"
#include <winsock2.h>
#include <iostream>
using namespace std;
using namespace NetworkServer;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
// Enabling Windows XP visual effects before any controls are created
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false); 

// Create the main window and run it
Application::Run(gcnew Form1());


    public void setUsers()
{
    string connectedUsers[] = {"John", "Alex", "Phillip", "Steve"};
    Form1->txt_connectedClients.AppendText(connectedUsers[1]);
}

    return 0;
}

错误:

    1>NetworkServer.cpp(22): error C2143: syntax error : missing ';' before '->'
    1>NetworkServer.cpp(22): error C2143: syntax error : missing ';' before '->'

2 个答案:

答案 0 :(得分:2)

Form1是类型名称,您需要一个对象。我看不到代码的上下文,但只要这段代码写在Form1类的方法中,那么这就是&gt;会工作的。

public ref class Form1 : public System::Windows::Forms::Form
{
   //...
public:
    void setUsers() {
        array<String^>^ connectedUsers = gcnew array<String^> {"John", "Alex", "Phillip", "Steve"};
        this->txt_connectedClients->AppendText(connectedUsers[1]);
    }
};

请注意,您使用的是C ++ / CLI语言编程,而不是C ++。

答案 1 :(得分:0)

txt_connectedClients不存在或不是指针。请尝试使用点运算符。