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

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

新規登録して質問してみよう
ただいま回答率
85.47%
Mono

Monoは、Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースのソフトウェア群です。Linux、Mac OS X、Windowsなど多くのプラットフォームで動作します。その他にも、特定プラットフォーム向けに特化したサブプロジェクトも存在します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

textbox

HTMLの<input type="text">で生成されるtextboxに関するタグです。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

解決済

1回答

270閲覧

windowsアプリケーション(C#)をLinux上でmonoを使い実行した際のテキストボックスの不具合

aimer1619

総合スコア4

Mono

Monoは、Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースのソフトウェア群です。Linux、Mac OS X、Windowsなど多くのプラットフォームで動作します。その他にも、特定プラットフォーム向けに特化したサブプロジェクトも存在します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

textbox

HTMLの<input type="text">で生成されるtextboxに関するタグです。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

0クリップ

投稿2023/12/06 08:24

  • windowsアプリケーション(C#)をLinux上でmonoを使用して実行しようと試している際に生じた現象です。
    ●症状

  テキストボックス上に「ああああ」と簡単な文字を入れmonoで実行した結果
C#コード:textbox1.text = "ああああ";
アプリケーションのテキストボックス上には「あ」だけしか表示されませんでした。
またテキストボックス上の「あ」を選択コピーし、Linux上のテキストエディターにペーストすると
「ああああ」となっていました。

●わかった点
➀上記の症状が起きる文字は以下の文字
・ひらがな:「あ」「い」「ゆ」「よ」「ら」「り」「る」「れ」「ろ」
・全角カナ:「ア」「イ」「ツ」「ル」「レ」「ワ」「ヲ」「ン」
・半角カナ:「エ」「フ」「ク」「ミ」「シ」「ヤ」「タ」「ト」「リ」「ネ」「ワ」
そのほかの文字は問題なくテキストボックスに表示される
②テキストボックス上に一つでも➀の症状が起きる文字が入力されていた場合今回の症状が起きる
③テキストボックス、ラベル、リッチテキストボックス、ボタンなどでも同様の症状が起きる
④症状が起きているテキストボックスの表示されている文字の最後尾にカーソルを合わせ➀の文字
以外の文字を入力するとすべての文字が表示される
例:windows(C#) textbox.text = "ああああ";
mono:「あ」の後ろにカーソルを合わせ「a」を入力する→「ああああa」
また、入力した「a」の文字を消すと「ああああa」→「あ」に戻る

この症状はmonoが➀で指定した文字が対応していないため生じている症状なのでしょうか?
わかる方がいましたらコメントよろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TN8001

2023/12/07 05:25

検索しただけですがこの辺に関係してますかね? [Mono on Linux Ubuntu - Some Japanese characters will not display at the end of a string using DrawString() · Issue #21697 · mono/mono](https://github.com/mono/mono/issues/21697) [Japanese font not display completely on Windowsform at Linux · Issue #17824 · mono/mono](https://github.com/mono/mono/issues/17824) [Characters are missing when using Japanese on Windows Forms · Issue #627 · mono/libgdiplus](https://github.com/mono/libgdiplus/issues/627)
aimer1619

2023/12/12 01:37

ありがとうございます。 無事解決できました。
TN8001

2023/12/12 03:36

> 無事解決できました。 解決したのですか。それはよかったです。 お手数ですが解決の経緯を簡単にまとめていただき、質問を「解決済」にしてください。 [ヘルプ|質問をした後に自己解決してしまった](https://teratail.com/help#resolve-myself)
guest

回答1

0

自己解決

解決しました。

TN8001さんに添付いただいたリンク先から、monoのlibgdiplusライブラリで起きているバグ
だということがわかりました。既にgithubにて修正済みとなっていましたので
最新のlibgdiplusをインストールすることで問題なく動作致しました。

投稿2023/12/12 05:57

aimer1619

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問