- - PR -
C#でLineコントロール
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-08-03 18:13
こんにちは。ぴんふです。
<はじめに> VB6.0では実装されていたLineコントロールですが、 C#では実装されていませんよね? 皆さんはC#でLineコントロール(的なもの)が必要 なときはどうされていますでしょうか? LabelのWidthを狭くして擬似的に見せる等の方法はあるでしょうが それはあまりやりたくないので・・・。 1.今回私がやりたいこと @2点鎖線のLineコントロールをC#で実現したい。(フォーム内のグラフを見やすくするための補助線として使用) ALineはドラッグしてフォーム内を移動可能とする。 2.これまでに試したこと @UserControlにピクチャボックスを貼ってそこに2点鎖線を描画した。 ドラッグはUserControlのMouseDown,MouseMove,MouseUpで実現した。 →問題点としては2点鎖線の余白が透明でないので見づらい A@の余白の問題を解決するために余白の透明化を行った。 ソースはこんな感じ public partial class XXXX : UserControl //中略 private void SetRegion() //このメソッドをUserContrlのコンストラクタとSizeChangedイベントでコール { System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath(System.Drawing.Drawing2D.FillMode.Winding); this.Region = new Region(path); } →問題点としては2点鎖線もろともピクチャーボックスが見えなくなった。 3.環境 WinXp VS2005 C#(Framework2.0) 4.参考にしたページ http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25022&forum=7 どなたかアドバイスを頂けませんか?よろしくお願いします。 以上。 | ||||||||
|
投稿日時: 2006-08-03 18:16
VS2005 での罫線とか図形について _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-08-03 18:22
前にこんなスレッドがありましたね、
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31889&forum=7&2 わんくま のライブラリで実現できるのかな? # かぶりまくり(汗 [ メッセージ編集済み 編集者: かるあ 編集日時 2006-08-03 18:24 ] | ||||||||
|
投稿日時: 2006-08-03 18:32
じゃんぬねっとさん
かるあさん 早速のご返答ありがとうございます。 過去スレは検索したのですがキーワードが 良くなかったようです。 「わんくまライブラリ」 のやり方を踏襲した上で、Penのスタイルを変更 すればずばりそのものが実現できそうです。 結果は追ってお知らせします。 重ね重ねありがとうございました。 | ||||||||
|
投稿日時: 2006-08-03 19:33
ぴんふです。結果報告です。
「わんくまライブラリ」のやり方でやってみました。 線は引けました。 が、「ずばりそのものが実現できそう」 とか自分で言っておきながら見落としていた点がありました。 それは余白(ユーザーコントロール内の線の描画されていない部分) が透明にできないために見づらいという点です。 この線の後ろにはグラフを描画する別のコントロールや ラベルなどを置きたいので、 線の余白部分は透明にしたいのです。 ユーザーコントロールのBackColorをTransParentにしても 対象となる親が複数なので無理ですし、 私の最初の発言にあるとおり、 Regionの設定で透明化しようとしたら駄目だったので (私のRegionの設定方法に問題があるのかもしれませんが・・・) どなたかご教授願えませんか?よろしくお願いします。 | ||||||||
|
投稿日時: 2006-08-05 19:02
GraphicsPathに何も描画していないからなのでは・・?
参考にしているページでジブさんが書いているように(3ページ目) AddXXX系のメソッドで描画をしないダメなのでは。 (以下ジブさんのコードより)
| ||||||||
|
投稿日時: 2006-08-07 16:43
SOUさんへ
ご指摘ありがとうございます。 調査してみます。結果報告が遅れるかもしれませんが・・・。 何卒ご容赦を。 以上 |
1