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

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

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

Re[6]: Chart内にあるLabelもクリップボード


(過去ログ 121 を表示中)

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

■72416 / inTopicNo.1)  Chart内にあるLabelもクリップボードにコピー
  
□投稿者/ 沙奈 (7回)-(2014/06/08(Sun) 16:39:00)

分類:[.NET 全般] 

超初心者ですみません。

Chartの中にLabelも使い表示しています。
これをネットにあったのを使わせて頂き、Chart部分はクリップボードにコピーが出来たのですが、Label表示の部分がコピー出来ません。
表示通りにChartとLabelともにコピーをする方法を教えてください。

それと・・、このようなChartが上下に2枚あります。
そのまま上下にコピーしたいのです。

以上2点お願いします。

Using memStream As New System.IO.MemoryStream()
    '一旦 Stream オブジェクトに保存
    Chart1.SaveImage(memStream, System.Drawing.Imaging.ImageFormat.Jpeg)
    Dim Jpeg As New Bitmap(memStream)
    'クリップボードに貼り付け
    Clipboard.SetDataObject(Jpeg)
End Using


引用返信 編集キー/
■72417 / inTopicNo.2)  Re[1]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ しま (71回)-(2014/06/08(Sun) 18:18:04)
No72416 (沙奈 さん) に返信
> Using memStream As New System.IO.MemoryStream()
> '一旦 Stream オブジェクトに保存
> Chart1.SaveImage(memStream, System.Drawing.Imaging.ImageFormat.Jpeg)
> Dim Jpeg As New Bitmap(memStream)
> 'クリップボードに貼り付け
> Clipboard.SetDataObject(Jpeg)
> End Using
>

あなたの方法(=手順)は図形を画像としてクリップボードに記録しています。
できれば、図形を作成(描画)するのに必要なデーターも別途、記録すると良いでしょう。

>ChartとLabelともにコピーをする方法
ラベルの文字列を(TextDataFormat.Text などの)適切な形式でクリップボードに記録すればいいだけです。

「msdn クリップボード」で検索することをお薦めします
引用返信 編集キー/
■72428 / inTopicNo.3)  Re[1]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ shu (584回)-(2014/06/09(Mon) 15:16:07)
No72416 (沙奈 さん) に返信

Chartの上に重なるようにLabelが配置されているということでしょうか?
提示コードを生かし以下のような感じでどうでしょう?


        Using memStream As New System.IO.MemoryStream()
            '一旦 Stream オブジェクトに保存
            Chart1.SaveImage(memStream, System.Drawing.Imaging.ImageFormat.Bmp)
            Dim bmp As New Bitmap(memStream)
            Using grp = Graphics.FromImage(bmp)
                grp.DrawString(Label1.Text, Label1.Font, Brushes.Black, Label1.Left - Chart1.Left, Label1.Top - Chart1.Top)
            End Using
            Clipboard.SetImage(bmp)
        End Using

引用返信 編集キー/
■72443 / inTopicNo.4)  Re[2]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ 沙奈 (8回)-(2014/06/09(Mon) 19:39:55)
No72417 (しま さん) に返信
> あなたの方法(=手順)は図形を画像としてクリップボードに記録しています。
> できれば、図形を作成(描画)するのに必要なデーターも別途、記録すると良いでしょう。
>
> >ChartとLabelともにコピーをする方法
> ラベルの文字列を(TextDataFormat.Text などの)適切な形式でクリップボードに記録すればいいだけです。
>
> 「msdn クリップボード」で検索することをお薦めします

すみません。
「msdn クリップボード」で検索したのですがよく分かりませんでした。


引用返信 編集キー/
■72444 / inTopicNo.5)  Re[2]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ 沙奈 (9回)-(2014/06/09(Mon) 19:43:55)
No72428 (shu さん) に返信

> Chartの上に重なるようにLabelが配置されているということでしょうか?
> 提示コードを生かし以下のような感じでどうでしょう?
>
>
> Using memStream As New System.IO.MemoryStream()
> '一旦 Stream オブジェクトに保存
> Chart1.SaveImage(memStream, System.Drawing.Imaging.ImageFormat.Bmp)
> Dim bmp As New Bitmap(memStream)
> Using grp = Graphics.FromImage(bmp)
> grp.DrawString(Label1.Text, Label1.Font, Brushes.Black, Label1.Left - Chart1.Left, Label1.Top - Chart1.Top)
> End Using
> Clipboard.SetImage(bmp)
> End Using
>

はい、Chartの上に重なるようにLabelを配置しています。

教えて頂いたのに置き換えれば良いのですね?
すみません。
Chartはコピーできたのですが、Labelはコピー出来ませんでした。

それと72395で質問してます罫線もいっしょにコピーしたいです。

引用返信 編集キー/
■72496 / inTopicNo.6)  Re[3]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ shu (592回)-(2014/06/12(Thu) 14:12:45)
No72444 (沙奈 さん) に返信
> はい、Chartの上に重なるようにLabelを配置しています。
>
> 教えて頂いたのに置き換えれば良いのですね?
> すみません。
> Chartはコピーできたのですが、Labelはコピー出来ませんでした。
どのように記述して出来なかったのでしょうか?
こちらで提示したように記述されているとするとLabelが配置されているコントロールとChartが配置されている
コントロールが異なる可能性があります。両方Formに直接配置するか、同じコントロールに配置するように
してみて下さい。


>
> それと72395で質問してます罫線もいっしょにコピーしたいです。
>
grp.DrawLineで同様に罫線を引くとよいです。座標は72395で求めた座標を記録しておいて使用すると良いかと思います。

引用返信 編集キー/
■72503 / inTopicNo.7)  Re[4]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ 沙奈 (12回)-(2014/06/12(Thu) 17:52:53)
No72496 (shu さん) に返信

何度もすみません。

前のときは何度しても駄目だったのですが出来ました。
ありがとうございます。
何かミスってたのだと思います。

あと、このLabelの文字を白色などの背景の上に書くことは可能でしょうか?
文字とグラフと重なる箇所があるので見にくいのです。

それと、ひとつのFormの中にこのようなChartが上下に3枚あります。
この3枚をそのままそっくりコピーしたいのです。

よろしくお願いします。
引用返信 編集キー/
■72507 / inTopicNo.8)  Re[5]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ shu (594回)-(2014/06/12(Thu) 23:58:41)
No72503 (沙奈 さん) に返信
> それと、ひとつのFormの中にこのようなChartが上下に3枚あります。
> この3枚をそのままそっくりコピーしたいのです。

3枚のグラフを1つのイメージに描画すればよいかと思います。

PictureBoxに表示する例です。

        Using grp = PictureBox1.CreateGraphics
            Dim y = 0
            For Each TrgChart In {Chart1, Chart2, Chart3}
                Using memStream As New System.IO.MemoryStream()
                    '一旦 Stream オブジェクトに保存
                    TrgChart.SaveImage(memStream, System.Drawing.Imaging.ImageFormat.Bmp)
                    Dim bmp As New Bitmap(memStream)
                    grp.DrawImage(bmp, 0, y)
                    y += TrgChart.Height
                End Using
            Next

        End Using

引用返信 編集キー/
■72539 / inTopicNo.9)  Re[6]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ 沙奈 (14回)-(2014/06/14(Sat) 14:42:37)
No72507 (shu さん) に返信

> 3枚のグラフを1つのイメージに描画すればよいかと思います。
>
> PictureBoxに表示する例です。
>
> Using grp = PictureBox1.CreateGraphics
> Dim y = 0
> For Each TrgChart In {Chart1, Chart2, Chart3}
> Using memStream As New System.IO.MemoryStream()
> '一旦 Stream オブジェクトに保存
> TrgChart.SaveImage(memStream, System.Drawing.Imaging.ImageFormat.Bmp)
> Dim bmp As New Bitmap(memStream)
> grp.DrawImage(bmp, 0, y)
> y += TrgChart.Height
> End Using
> Next
>
> End Using
>

すみません。
超初心者の私には難解です。
数時間 格闘したのですが無理でした。


引用返信 編集キー/
■72544 / inTopicNo.10)  Re[7]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ テスト (4回)-(2014/06/16(Mon) 09:21:32)
No72539 (沙奈 さん) に返信
> すみません。
> 超初心者の私には難解です。
> 数時間 格闘したのですが無理でした。
>
あまりにひどいので横から失礼。
回答者にとってそんな返信は何の役にも立たないです。

あなたが問題を解決したいと思っているのであれば、
どこが分からないのか具体的にあげるようにして下さい。
引用返信 編集キー/
■72554 / inTopicNo.11)  Re[8]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ 沙奈 (15回)-(2014/06/16(Mon) 21:50:16)
No72544 (テスト さん) に返信

> あまりにひどいので横から失礼。
> 回答者にとってそんな返信は何の役にも立たないです。
>
> あなたが問題を解決したいと思っているのであれば、
> どこが分からないのか具体的にあげるようにして下さい。

すみません。
私が知ってるのは基礎の基礎程度です。
プログラミングが本職ではないのです。
必要な時に必要なことだけをネットや本などで探し、
無いときにはこうして教えていただいてる、いわばド素人です。
教えていただいた事も、もう二度と使わないかもしれません。
たぶんその可能性のほうが大きいです。
言われることは分からなくはないですが、
そのことをそんなに詳しく勉強してもあんまり意味が無いのです。

引用返信 編集キー/
■72555 / inTopicNo.12)  Re[9]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ Azulean (319回)-(2014/06/16(Mon) 22:33:43)
No72554 (沙奈 さん) に返信
> 教えていただいた事も、もう二度と使わないかもしれません。
> たぶんその可能性のほうが大きいです。
> 言われることは分からなくはないですが、
> そのことをそんなに詳しく勉強してもあんまり意味が無いのです。

ということは、当初目指していたことはあきらめるという理解でよいのでしょうか。

「詳しく勉強しても意味がない」と断言していますが、勉強して目指していたものを作れるようになることで何らかの意味があるはずですよね。
作ろうと思った理由があるわけですから、手間の改善、効率化などの効果が得られるのでしょうから、「意味がない」わけではないはずです。

もっとも、改善される効果に対して、今必要となる投資(時間・書籍の購入費など)が割に合わないとお考えなのであれば、「あきらめて現状の手間を許容する」、あるいは「誰かにお金を払ってソフトを作ってもらう」、「出来合いのソフトで我慢する」といった選択になるのでしょう。
引用返信 編集キー/
■72561 / inTopicNo.13)  Re[10]: Chart内にあるLabelもクリップボードにコピー
□投稿者/ 沙奈 (16回)-(2014/06/17(Tue) 23:14:32)
No72555 (Azulean さん) に返信

> ということは、当初目指していたことはあきらめるという理解でよいのでしょうか。
>
> 「詳しく勉強しても意味がない」と断言していますが、勉強して目指していたものを作れるようになることで何らかの意味があるはずですよね。
> 作ろうと思った理由があるわけですから、手間の改善、効率化などの効果が得られるのでしょうから、「意味がない」わけではないはずです。
>
> もっとも、改善される効果に対して、今必要となる投資(時間・書籍の購入費など)が割に合わないとお考えなのであれば、「あきらめて現状の手間を許容する」、あるいは「誰かにお金を払ってソフトを作ってもらう」、「出来合いのソフトで我慢する」といった選択になるのでしょう。

全てをあきらめた訳ではありませんが、今回の質問はあきらめ次に進むことにします。
お騒がせしてすみませんでした。
解決済みにしておきます。

解決済み
引用返信 編集キー/
■72562 / inTopicNo.14)  Re[6]: Chart内にあるLabelもクリップボード
□投稿者/ 沙奈 (17回)-(2014/06/18(Wed) 09:23:01)
2014/06/18(Wed) 09:25:48 編集(投稿者)

No72507 (shu さん) に返信

お礼を言うのは忘れてました。
72544〜のように事情でこの質問はあきらめることにします。
ありがとうございました。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -