Search
Closed
as Fixed Help for as Fixed

3
Sign in to vote
0
Sign in to vote
Sign in
to vote
Type: Bug
ID: 499354
Opened: 10/22/2009 12:27:44 AM
Access Restriction: Public
1
Workaround(s)
2
User(s) can reproduce this bug
フォームに配置した TableLayoutPanel コントロールの最終行を削除しようとすると
列が削除され、行が削除されない。
Details (expand)
製品言語
日本語
製品名
Visual Studio 2008 SP1
オペレーティング システム
Windows 7 RC
オペレーティング システム言語
日本語
再現手順
・フォームに Tablelayoutpanel コントロールを追加。
 (デフォルトで、2行・2列で作成される?)
・1行でレイアウトするために、(デフォルトで)IDE右下のプロパティウィンドウから
 「最終行の削除」と書かれたコマンドリンク(?)をクリックする。
実際の結果
行が削除されずに、列が削除される。
期待した結果
列は削除されず、最終行が削除される。
TAP コード (お持ちの場合のみ)
 
File Attachments
1 attachments
Visual Studio ムービー.avi
Sign in to post a comment.
Posted by Microsoft on 10/22/2009 at 6:37 PM
この度は、フィードバックをお送りいただき、誠にありがとうございます。 現在、お送りいただきました報告内容に基づき問題を調査中ですので、しばらくお待ちください。 よろしくお願いいたします。

[Problem Description]
When I try to remove the last row of the TableLayoutPanel control placed on a form, a column is removed and the row is not removed.

[Repro Steps]
1. Add the TableLayoutPanel control to a form. (A table with two rows and two columns is created by default?)
2. To change the layout to a one-row table, click the [Remove Last Row] command link (?) in the Properties window on the bottom right corner of the IDE.

[Actual Results]
The last row is not removed and a column is removed instead.

[Expected Results]
The last row should be removed instead of a column.
Posted by Microsoft on 10/25/2009 at 10:06 PM
Hello

Thanks for your feedback. But we could not repro this issue i n our lab. Please see attached snapshot_kylin.png. You can see, the last row was deleted instead of the last column. Could you please provide us with a video on this issue? And we will re-investigate.


Thanks,
Kylin.Ming
Posted by Microsoft on 10/25/2009 at 10:31 PM
(こちらは、[投稿者: Microsoft、投稿日時: 2009/10/25 22:06] の和訳です。)

こんにちは、

フィードバックをお寄せいただき、ありがとうございます。 しかしながら、私たちの調査環境では、こちらの問題を再現することができませんでした。 添付の snapshot_kylin.png というファイルをご覧ください。 最後の列ではなく、最後の行が削除されていることをお分かりいただけるかと思います。 お手数ですが、こちらの問題に関するビデオをご提供いただくことはできますでしょうか? その後、私たちの方で再調査させていただきたく思います。 よろしくお願いいたします。

Kylin Ming
Posted by Azulean on 10/26/2009 at 7:47 AM
MSDN フォーラムでも報告がありますし、別途報告があると思いますが、日本語のランゲージパックの不具合の可能性があります。
英語ではなく、日本語環境で再現試験をお願いします。

MSDN フォーラムでのスレッド(日本語)
http://social.msdn.microsoft.com/Forums/ja-JP/vsgeneralja/thread/11100651-b17d-463a-b8de-20fae97ef979
Posted by Microsoft on 10/26/2009 at 6:31 PM
(翻訳者注: 2009年9月末のサイト デザイン変更に伴い、報告者以外の方のコメントも英訳の対象とさせていただくことになりました。 こちらは、Azulean さんが 2009/10/26 7:47 に投稿されたメッセージの英訳です。)

This issue has also been reported in an MSDN Forum. I think it will be reported separately again and may result from a bug in the Japanese language pack. Please try to reproduce the issue in a Japanese environment, not an English one. Thank you.

MSDN Forum thread (Japanese):
http://social.msdn.microsoft.com/Forums/ja-JP/vsgeneralja/thread/11100651-b17d-463a-b8de-20fae97ef979
Posted by Azulean on 10/27/2009 at 10:03 AM
上記のMSDNフォーラムから問題の核心部分を抜粋します。(gekkaさんの投稿からです)

1. TableLayoutPanelDesigner.Verbs プロパティの get アクセサでは、DesignerVerb クラスのコンストラクタで SR.GetString(SR.TableLayoutPanelDesignerRemoveRow) を渡している。
2. DesignerVerb クラスのコンストラクタでは、Regex.Replace(text, @"\(\&.\)", ""); というコードで、"(&W)" といった文字列を削除する処理が入っている。
3. TableLayoutPanelDesigner.OnVerbRemove では SR.GetString(SR.TableLayoutPanelDesignerRemoveRow) の戻り値と DesignerVerb クラスの Text プロパティを比較している。
4. 日本語のリソースでは (&W) といった表記が SR.TableLayoutPanelDesignerRemoveRow に設定されているため、3 の比較で必ず不一致になり、行の削除(追加)ではなく、列の削除(追加)と誤認される。

※SR.TableLayoutPanelDesignerAddRow も同じ問題を抱えている。
Posted by Jitta on 10/29/2009 at 6:44 AM
Hi kylin.
we cannot see snapshot_kylin.png.
where is it ?

i tested with VS 2010 beta1 Japanese edition.
it has same bug.
but, English edition, it works good.

please test another languages.

thanks.
Posted by Microsoft on 10/29/2009 at 9:30 PM
(こちらは、Azulean さんが 2009/10/27 10:03 に投稿されたコメントの英訳です。)

Below is the core of the issue extracted from the above MSDN Forum thread (post by gekka.)

1. The Get accessor of the TableLayoutPanelDesigner.Verbs property passes SR.GetString(SR.TableLayoutPanelDesignerRemoveRow) to DesignerVerb Constructor.
2. DesignerVerb Constructor includes a processing to delete the "(&W)" string using the code Regex.Replace(text, @"\(\&.\)", "");.
3. TableLayoutPanelDesigner.OnVerbRemove compares the returned value of SR.GetString(SR.TableLayoutPanelDesignerRemoveRow) with the Text property of the DesignerVerb class.
4. Since the description (&W) is set to SR.TableLayoutPanelDesignerRemoveRow in Japanese resource, the comparison made in Step 3 always results in inconsistency, misunderstanding column deletion (addition) as row deletion (addition).

* Please note that SR.TableLayoutPanelDesignerAddRow has the same issue.
Posted by Microsoft on 11/16/2009 at 2:31 AM
この度は、フィードバックをお送りいただき、誠にありがとうございます。
ご指摘いただきましたように、本件は日本語環境で再現いたします。英語版ではプロパティウインドウ上には「最終行の削除」等のメニューを表示しておりませんが、日本語版ではこちらを表示しておりましたため、英語環境では再現しなかったことがわかりました。
次期バージョンでは、英語版と同様の表示形式にすることで、こちらの問題が日本語版においても再現しないように変更させていただきたいと思います。もちろん、次期バージョンにおいても、TableLayoutPanel タスク上から「最終行の削除」等、これまで同様の作業は行うことができるようになる予定です。

フィードバックありがとうございました。
今後ともよろしくお願いします。