C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: Panelの回転


(過去ログ 95 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■56432 / inTopicNo.1)  Panelの回転
  
□投稿者/ ヨシ (1回)-(2011/01/13(Thu) 18:48:26)

分類:[C#] 

開発環境:WindowsXP、.NET Framework 4
使用言語:Microsoft Visual C# 2010 Express

お世話になります。質問をさせていただきます。

Panelにコントロール(ボタン等をいくつか)を配置し、
それらをPanelごと回転(例えば時計回りに90度回転)
させる良い方法はありますでしょうか?

各コントロールを個別に回転させるのではなく、
Panelごと回転させたいのです。

よろしくお願いいたします。
引用返信 編集キー/
■56436 / inTopicNo.2)  Re[1]: Panelの回転
□投稿者/ やじゅ (1815回)-(2011/01/13(Thu) 20:24:26)
やじゅ さんの Web サイト
2011/01/13(Thu) 20:28:49 編集(投稿者)

No56432 (ヨシ さん) に返信
> 開発環境:WindowsXP、.NET Framework 4
> 使用言語:Microsoft Visual C# 2010 Express

> 各コントロールを個別に回転させるのではなく、
> Panelごと回転させたいのです。

Windowsフォームアプリではなく、WPFアプリにすれば出来ると思います。
http://msdn.microsoft.com/ja-jp/netframework/ee843960
引用返信 編集キー/
■56439 / inTopicNo.3)  Re[2]: Panelの回転
□投稿者/ ヨシ (2回)-(2011/01/13(Thu) 22:00:57)
No56436 (やじゅ さん) に返信
> 2011/01/13(Thu) 20:28:49 編集(投稿者)
>
> ■No56432 (ヨシ さん) に返信
>>開発環境:WindowsXP、.NET Framework 4
>>使用言語:Microsoft Visual C# 2010 Express
>
>>各コントロールを個別に回転させるのではなく、
>>Panelごと回転させたいのです。
>
> Windowsフォームアプリではなく、WPFアプリにすれば出来ると思います。
> http://msdn.microsoft.com/ja-jp/netframework/ee843960

やじゅ様

ご返信ありがとうございます。WPFアプリは使用したことがないため、
今後勉強していきたいと思います。

逆に言えば、Windowsアプリケーションでは、Panelの回転ができないと
いうことでしょうか?出来ればいまのところ、Windowsアプリケーション
での解決策を見出したいと考えております。
引用返信 編集キー/
■56443 / inTopicNo.4)  Re[3]: Panelの回転
□投稿者/ Azulean (678回)-(2011/01/13(Thu) 23:21:10)
No56439 (ヨシ さん) に返信
> 逆に言えば、Windowsアプリケーションでは、Panelの回転ができないと
> いうことでしょうか?

できないか、相当に難しいと思われます。


Windows フォームアプリケーションは従来の Windows アプリケーションと同じように、1 つのウィンドウの中にいくつもの子ウィンドウが存在します。Button や Panel なども個別にウィンドウとなっており、それぞれのウィンドウが自らボタンであるとか、ラジオボタンであるとか絵を描いています。
このため、個別の絵を描く処理に対して回転をする大がかりな仕組みが必要だと予想されますが、それを簡単にする仕組みは用意されていません。

一方、WPF アプリケーションは 1 つのウィンドウの中に 1 つの絵を描く形でウィンドウを実現しています。
Button をいくつ置こうが、ウィンドウとしては 1 つであるため、そのウィンドウの中の絵をどのように描くかを制御しやすくなっていると考えられます。
引用返信 編集キー/
■56457 / inTopicNo.5)  Re[4]: Panelの回転
□投稿者/ ヨシ (3回)-(2011/01/14(Fri) 12:57:01)
No56443 (Azulean さん) に返信
> ■No56439 (ヨシ さん) に返信
>>逆に言えば、Windowsアプリケーションでは、Panelの回転ができないと
>>いうことでしょうか?
>
> できないか、相当に難しいと思われます。
>
>
> Windows フォームアプリケーションは従来の Windows アプリケーションと同じように、1 つのウィンドウの中にいくつもの子ウィンドウが存在します。Button や Panel なども個別にウィンドウとなっており、それぞれのウィンドウが自らボタンであるとか、ラジオボタンであるとか絵を描いています。
> このため、個別の絵を描く処理に対して回転をする大がかりな仕組みが必要だと予想されますが、それを簡単にする仕組みは用意されていません。
>
> 一方、WPF アプリケーションは 1 つのウィンドウの中に 1 つの絵を描く形でウィンドウを実現しています。
> Button をいくつ置こうが、ウィンドウとしては 1 つであるため、そのウィンドウの中の絵をどのように描くかを制御しやすくなっていると考えられます。


Azulean様

ご返信、ありがとうございます。Windowsアプリケーションだけでは難しそうですね。
わかりました。ありがとうございます。

ちなみに、Button等は無視して、Panelのみの回転というのは
Windowsアプリケーションでも比較的簡単なのでしょうか?
上下の辺の長さを変更するのではなく、あくまで回転にこだわっています。
引用返信 編集キー/
■56459 / inTopicNo.6)  Re[5]: Panelの回転
□投稿者/ よねKEN (665回)-(2011/01/14(Fri) 13:28:09)
> ちなみに、Button等は無視して、Panelのみの回転というのは
> Windowsアプリケーションでも比較的簡単なのでしょうか?

ButtonもPanelも同じコントロールですので扱いは同じで
Buttonで簡単にできないならおそらくPanelでも簡単にはできません。

ちなみにPanelは配置したデフォルトのままでは目に見えないわけですが、
回転させて何がしたいのでしょうか?

もし回転した矩形を描画できればいいのであれば、
Graphicsクラスでそういう図形を描画すればよいでしょう。
各種イベントもきちんと扱いたいなら、そういうコントロールを自作する方向性もあるかもしれません。
(コントロールの自作はものすごく大変ですが)

> 上下の辺の長さを変更するのではなく、あくまで回転にこだわっています。

見かけ上、回転したように見えるのでなく、本当に回転していて欲しい、ということですよね?
とりあえず「Panelを90度回転」だけ実現するなら、上下の辺の長さ変更でもよいわけで、
そうでなく「回転」させたいのにはその先で実現したい本当の目的があるからですよね?
その目的は何でしょうか?

目的によってはひょっとしたら何かいいアプローチもあるかもしれません。
引用返信 編集キー/
■56553 / inTopicNo.7)  Re[6]: Panelの回転
□投稿者/ ヨシ (4回)-(2011/01/19(Wed) 00:00:34)
No56459 (よねKEN さん) に返信
>>ちなみに、Button等は無視して、Panelのみの回転というのは
>>Windowsアプリケーションでも比較的簡単なのでしょうか?
>
> ButtonもPanelも同じコントロールですので扱いは同じで
> Buttonで簡単にできないならおそらくPanelでも簡単にはできません。
>
> ちなみにPanelは配置したデフォルトのままでは目に見えないわけですが、
> 回転させて何がしたいのでしょうか?
>
> もし回転した矩形を描画できればいいのであれば、
> Graphicsクラスでそういう図形を描画すればよいでしょう。
> 各種イベントもきちんと扱いたいなら、そういうコントロールを自作する方向性もあるかもしれません。
> (コントロールの自作はものすごく大変ですが)
>
>>上下の辺の長さを変更するのではなく、あくまで回転にこだわっています。
>
> 見かけ上、回転したように見えるのでなく、本当に回転していて欲しい、ということですよね?
> とりあえず「Panelを90度回転」だけ実現するなら、上下の辺の長さ変更でもよいわけで、
> そうでなく「回転」させたいのにはその先で実現したい本当の目的があるからですよね?
> その目的は何でしょうか?
>
> 目的によってはひょっとしたら何かいいアプローチもあるかもしれません。


よねKEN 様

返信遅れまして、申し訳ございません。
実はやりたいことにButton等は関係がなくて、他社APIを利用して画像をPanelに関連付けさせて、
Panelに画像を表示させているのです。この画像を回転させる必要がでてきたのですが、
この画像がPanelのどこに紐付けてあるのかがわからないのです。しかも、なぜかPictureBoxやLabel
ではうまく表示ができません。

メーカに問い合わせたり、自社の先輩に聞いて、なんとか別方法でPictureBoxやLabelに画像を
表示することができました。これで回転も行うことができました。

皆様、どうもありがとうございました。

今後のために、WPFアプリを勉強していきたいと思います。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -