質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.46%

  • C++

    3639questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • Visual Studio

    1927questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • Visual C++

    115questions

    Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

C++/CLIでリッチテキストボックスオブジェクトのTextメンバに文字型変数が追加出来ない。

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 947

Mukomiz

score 3

C++/CLIでリッチテキストボックスオブジェクトに文字型変数が追加出来ない。
初歩的な内容で恐縮ですが、現在C++・CLIを勉強中です。
VisualStudio2015を使用しています。

発生している問題・エラーメッセージ

自動生成されたリッチテキストボックスの中のTextメンバにchar型配列やString型変数を代入したいのですが上手く行きません
Textメンバを指定して、直接文字列を代入する事は出来るのですが、変数の代入が出来ません

エラーメッセージ


これらのオペランドと一致する演算子 "+" はありません

該当のソースコード

pragma once

namespace CON_SENSOR {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

/// <summary>
/// MyForm の概要
/// </summary>
public ref class MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
InitializeComponent();
//
//TODO: ここにコンストラクター コードを追加します
//
}

protected:
/// <summary>
/// 使用中のリソースをすべてクリーンアップします。
/// </summary>
~MyForm()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::Button^  START;
protected:

protected:
private: System::ComponentModel::BackgroundWorker^  backgroundWorker1;
private: System::Windows::Forms::RichTextBox^  Disp_data;

private:
/// <summary>
/// 必要なデザイナー変数です。
/// </summary>
System::ComponentModel::Container ^components;

pragma region Windows Form Designer generated code

/// <summary>
/// デザイナー サポートに必要なメソッドです。このメソッドの内容を
/// コード エディターで変更しないでください。
/// </summary>
void InitializeComponent(void)
{
this->START = (gcnew System::Windows::Forms::Button());
this->backgroundWorker1 = (gcnew System::ComponentModel::BackgroundWorker());
this->Disp_data = (gcnew System::Windows::Forms::RichTextBox());
this->SuspendLayout();
// 
// START
// 
this->START->Location = System::Drawing::Point(97, 379);
this->START->Name = L"START";
this->START->Size = System::Drawing::Size(75, 23);
this->START->TabIndex = 0;
this->START->Text = L"START";
this->START->UseVisualStyleBackColor = true;
this->START->Click += gcnew System::EventHandler(this, &MyForm::button1_Click);
// 
// Disp_data
// 
this->Disp_data->Location = System::Drawing::Point(12, 13);
this->Disp_data->Name = L"Disp_data";
this->Disp_data->Size = System::Drawing::Size(246, 345);
this->Disp_data->TabIndex = 1;
this->Disp_data->Text = L"";
// 
// MyForm
// 
this->AutoScaleDimensions = System::Drawing::SizeF(8, 15);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(270, 431);
this->Controls->Add(this->Disp_data);
this->Controls->Add(this->START);
this->Name = L"MyForm";
this->Text = L"MyForm";
this->ResumeLayout(false);

}

pragma endregion

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
//////問題はここ/////
char test[] = "test\n";
this->Disp_data->Text += test;
////////////////////
}

};

試したこと

String test = "test\n";
this->Disp_data->Text +=test;

これでもダメですが

this->Disp_data->Text += "test\n";
このように直接文字列を代入するとうまく行きます。

補足情報(言語/FW/ツール等のバージョンなど)

初歩的な内容で恐縮ですが、詳しい方アドバイス頂けましたら幸いです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

String test = "test\n"; 
this->Disp_data->Text +=test; 
これでもダメですが 

ダメなのは1行目? 
だったら String^ test = L"test\n"; ではいかがです?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/11 09:05

    String^ test = L"test\n";これで行けました!
    Stringクラスのtestを実体化させているという操作になるのすかね?
    普通の変数みたいにString testと何が違うのかイマイチ分かりませんが解決致しました
    ありがとうございました!

    キャンセル

  • 2017/01/11 09:09

    ^が何を意味するのか分からんままに「動けばOK」とするようなら、
    以降C++/CLIを使っちゃダメだ。

    キャンセル

0

c++/CLI は、ややこしいですね、、、
この辺りで、理解を深められるのがよい気がします。
codezine

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/11 08:33

    これはまた古文書をwww アリガトゴザマス

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.46%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    【意見募集中】C#で親フォームと子フォーム間で情報をやりとりする

    ※※※※※※※※※※※※※※※※※※※※※※※※※※※※ Qiitaにて投稿した内容です。  →【意見募集中】C#で複数のフォームを扱うときのメモ。 意見を募る場合はこちらのほうが

  • 解決済

    C#.netでフォームの遷移

    前提・実現したいことC#.netでフォームの遷移を行いたいのですが、新しいフォームが開いてしまい困っています。 新しいウィンドウではなく同じウィンドウで違うフォームを開くことはでき

  • 解決済

    picturebox内の座標系を拡縮したいのですが。

    あけましておめでとうございます。 今年もよろしくお願い致します。 いつも大変お世話になっております。 picturebox内の座標系を変更したいのですが可能でしょうか

  • 解決済

    Taskが実行されません。

    ネットで、ThreadよりTaskを使ったほうが良いという記事を見て、コピペで使ってみましたが、動きません。 MSDNを見ても、同じようなコードがあったのでこれでいいのかなーと思

  • 解決済

    C# 複数のTimerを処理する際に、実行されない場合がある

    ボタンを押したときにTimerでボタンの色を変更する処理を作成しています。 下記コードで基本的な動きはできるようになったのですが、 ボタンAとBを交互に素早く押すという動作

  • 解決済

    VBScriptのボタン

    vbscriptをつかってシャットダウンをさせたいと思っています。 現在のソースはこちら Msg = MsgBox("シャットダウンしますか?", vbYesNo + 

  • 解決済

    C# DatagridViewの使い方

    C# DataGridViewについて 1列目の1行目にA、2行目にB、3行目にCと表示したくて下記のようにコーディングしました。 namespace WindowsF

  • 解決済

    C# 簡易電卓アプリの計算した数値と演算子の履歴を表示したい

    先週から全くの別業種からIT業界に転職をしていましてC#の勉強を社内でしています。現在C#で簡易電卓アプリをサンプルコードを参照しながらコードを書いています。 貼ってあるURLの内

同じタグがついた質問を見る

  • C++

    3639questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • Visual Studio

    1927questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • Visual C++

    115questions

    Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

  • トップ
  • C++に関する質問
  • C++/CLIでリッチテキストボックスオブジェクトのTextメンバに文字型変数が追加出来ない。