C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法
ツリー表示
トピック表示
ランキング
記事検索
過去ログ
ログ内検索
キーワードを複数指定する場合は 半角スペース で区切ってください。
検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
[返信]をクリックすると返信ページへ移動します。
キーワード
/
検索条件
/
(AND)
(OR)
検索範囲
/
(現在のログ)
(全過去ログ)
(過去ログ1)
(過去ログ2)
(過去ログ3)
(過去ログ4)
(過去ログ5)
(過去ログ6)
(過去ログ7)
(過去ログ8)
(過去ログ9)
(過去ログ10)
(過去ログ11)
(過去ログ12)
(過去ログ13)
(過去ログ14)
(過去ログ15)
(過去ログ16)
(過去ログ17)
(過去ログ18)
(過去ログ19)
(過去ログ20)
(過去ログ21)
(過去ログ22)
(過去ログ23)
(過去ログ24)
(過去ログ25)
(過去ログ26)
(過去ログ27)
(過去ログ28)
(過去ログ29)
(過去ログ30)
(過去ログ31)
(過去ログ32)
(過去ログ33)
(過去ログ34)
(過去ログ35)
(過去ログ36)
(過去ログ37)
(過去ログ38)
(過去ログ39)
(過去ログ40)
(過去ログ41)
(過去ログ42)
(過去ログ43)
(過去ログ44)
(過去ログ45)
(過去ログ46)
(過去ログ47)
(過去ログ48)
(過去ログ49)
(過去ログ50)
(過去ログ51)
(過去ログ52)
(過去ログ53)
(過去ログ54)
(過去ログ55)
(過去ログ56)
(過去ログ57)
(過去ログ58)
(過去ログ59)
(過去ログ60)
(過去ログ61)
(過去ログ62)
(過去ログ63)
(過去ログ64)
(過去ログ65)
(過去ログ66)
(過去ログ67)
(過去ログ68)
(過去ログ69)
(過去ログ70)
(過去ログ71)
(過去ログ72)
(過去ログ73)
(過去ログ74)
(過去ログ75)
(過去ログ76)
(過去ログ77)
(過去ログ78)
(過去ログ79)
(過去ログ80)
(過去ログ81)
(過去ログ82)
(過去ログ83)
(過去ログ84)
(過去ログ85)
(過去ログ86)
(過去ログ87)
(過去ログ88)
(過去ログ89)
(過去ログ90)
(過去ログ91)
(過去ログ92)
(過去ログ93)
(過去ログ94)
(過去ログ95)
(過去ログ96)
(過去ログ97)
(過去ログ98)
(過去ログ99)
(過去ログ100)
(過去ログ101)
(過去ログ102)
(過去ログ103)
(過去ログ104)
(過去ログ105)
(過去ログ106)
(過去ログ107)
(過去ログ108)
(過去ログ109)
(過去ログ110)
(過去ログ111)
(過去ログ112)
(過去ログ113)
(過去ログ114)
(過去ログ115)
(過去ログ116)
(過去ログ117)
(過去ログ118)
(過去ログ119)
(過去ログ120)
(過去ログ121)
(過去ログ122)
(過去ログ123)
(過去ログ124)
(過去ログ125)
(過去ログ126)
(過去ログ127)
(過去ログ128)
(過去ログ129)
(過去ログ130)
(過去ログ131)
(過去ログ132)
(過去ログ133)
(過去ログ134)
(過去ログ135)
(過去ログ136)
(過去ログ137)
(過去ログ138)
(過去ログ139)
(過去ログ140)
(過去ログ141)
(過去ログ142)
(過去ログ143)
(過去ログ144)
(過去ログ145)
(過去ログ146)
(過去ログ147)
(過去ログ148)
(過去ログ149)
(過去ログ150)
(過去ログ151)
(過去ログ152)
(過去ログ153)
(過去ログ154)
(過去ログ155)
(過去ログ156)
(過去ログ157)
(過去ログ158)
(過去ログ159)
(過去ログ160)
(過去ログ161)
(過去ログ162)
(過去ログ163)
(過去ログ164)
(過去ログ165)
(過去ログ166)
(過去ログ167)
(過去ログ168)
(過去ログ169)
(過去ログ170)
(過去ログ171)
(過去ログ172)
(過去ログ173)
(過去ログ174)
(過去ログ175)
(過去ログ176)
(過去ログ177)
(過去ログ178)
(過去ログ179)
強調表示
/
ON
(自動リンクOFF)
結果表示件数
/
20件
30件
40件
50件
100件
記事No検索
/
ON
大文字と小文字を区別する
No.86812 の関連記事表示
ヒット / 19件
(1-19 を表示)
<<
0
>>
■86812
エラーになる
□投稿者/ FRMC -
(2018/03/21(Wed) 10:19:03)
分類:[.NET 全般]
Private Sub ToolStripMenuItemPointDelete_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItemPointDelete.Click
Dim iPic As exPictureBox = Me.Controls(iLabel.Name)
If iPic.Controls.Count > 2 Then '頂点が2個以上なら
Dim i As Integer = iLabel.Tag
Me.ExPictureBox1.PointN.RemoveAt(i) '指定した頂点の情報削除
Me.ExPictureBox1.Controls.Remove(iLabel) '指定した頂点の削除
Call 頂点の初期化(iPic)
Call 線の描画(iPic)
End If
End Sub
をやると、
型 'System.NullReferenceException' のハンドルされていない例外が .exe で発生しました
追加情報:オブジェクト参照がオブジェクト インスタンスに設定されていません。
となります。
何か解決する方法はないのでしょうか。
検索しましたがそれらしい解決に至るものはありませんでした。
親記事 /過去ログ149より /
関連記事表示
削除チェック/
■86813
Re[1]: エラーになる
□投稿者/ Azulean -
(2018/03/21(Wed) 11:20:12)
■
No86812
(FRMC さん) に返信
> 型 'System.NullReferenceException' のハンドルされていない例外が .exe で発生しました
それが発生したときにそれぞれの変数にカーソルを合わせてみて、Nothinng となっているものを見つけてください。
Nothing になっているものに対してそのメンバーにアクセスするコードを実行すると今回のように NullReferenceException が発生します。
よって、以下のいずれかが必要となります。
1.Nothing とならないようなコードを書く。
2.Nothing となる場合は実行しないなどの分岐(If 文)を書く。
おそらく、今回のコードでは iPic が Nothing となっているのだと予想されます。
( ) 内の iLabel.Name を渡すことが適切かどうか、それは exPictureBox 型を示す名前かどうかをまずは疑ってください。
それが正しい場合、Form に直接貼り付けているものか否かを確認してください。(Controls プロパティはその対象に直接貼り付けられているもののみ対象となる)
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86822
Re[2]: エラーになる
□投稿者/ FRMC -
(2018/03/23(Fri) 15:11:01)
■
No86813
(Azulean さん) に返信
> ■
No86812
(FRMC さん) に返信
>>型 'System.NullReferenceException' のハンドルされていない例外が .exe で発生しました
>
> それが発生したときにそれぞれの変数にカーソルを合わせてみて、Nothinng となっているものを見つけてください。
> Nothing になっているものに対してそのメンバーにアクセスするコードを実行すると今回のように NullReferenceException が発生します。
>
> よって、以下のいずれかが必要となります。
>
> 1.Nothing とならないようなコードを書く。
> 2.Nothing となる場合は実行しないなどの分岐(If 文)を書く。
>
>
> おそらく、今回のコードでは iPic が Nothing となっているのだと予想されます。
>
> ( ) 内の iLabel.Name を渡すことが適切かどうか、それは exPictureBox 型を示す名前かどうかをまずは疑ってください。
> それが正しい場合、Form に直接貼り付けているものか否かを確認してください。(Controls プロパティはその対象に直接貼り付けられているもののみ対象となる)
iPicがNothingになっていることは既にわかっています。
おっしゃっている1.は、やり方がわからず、完全にSTOPしています。
2.は、実行しないとなると逆にエラーになるため、(つまりどの方法を使ってもiPicは常にNothing状態)できませんでした。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86824
Re[3]: エラーになる
□投稿者/ Azulean -
(2018/03/23(Fri) 16:09:28)
■
No86822
(FRMC さん) に返信
> iPicがNothingになっていることは既にわかっています。
であれば、そう書いた方が良いでしょうね。
> おっしゃっている1.は、やり方がわからず、完全にSTOPしています。
> 2.は、実行しないとなると逆にエラーになるため、(つまりどの方法を使ってもiPicは常にNothing状態)できませんでした。
現段階で書かれている内容では具体的な手段の提示は難しいです。
個別ケースの個別対応が必要なものですから、Web で探しても見つかるものではありませんので、質問者側の情報共有が必要となります。
少なくとも以下を説明してもらわないと難しいでしょうね。
・フォーム内のコントロールがどのような構造になっているのか
Form に直接貼られているのか、Panel や TabControl の上に貼り付けられているのか、目的のコントロールまでの階層を示す必要がある。
表示メニューのその他のウィンドウあたりにある、ドキュメントアウトラインを見ると、階層が見えるかもしれません。
・iLabel.Name がどのような値となるのか
Name プロパティなので、デザイナーで名付けた Label1 や iLabel になっているはずですが。
・iLabel というコントロールは何型なのか
名前からすると Label 型のように見受けられますが、それだと exPitureBox を得るために Controls(iLabel.Name) としているのは何かおかしいです。
Controls(iLabel.Name) は iLabel.Name の文字列を元にコントロールを得るので、結果は iLabel を得ることになるため。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86825
Re[4]: エラーになる
□投稿者/ FRMC -
(2018/03/23(Fri) 20:27:08)
■
No86824
(Azulean さん) に返信
> ■
No86822
(FRMC さん) に返信
>>iPicがNothingになっていることは既にわかっています。
>
> であれば、そう書いた方が良いでしょうね。
>
>>おっしゃっている1.は、やり方がわからず、完全にSTOPしています。
>>2.は、実行しないとなると逆にエラーになるため、(つまりどの方法を使ってもiPicは常にNothing状態)できませんでした。
>
> 現段階で書かれている内容では具体的な手段の提示は難しいです。
> 個別ケースの個別対応が必要なものですから、Web で探しても見つがるものではありませんのて、質問者側の情報共有が必要どなります。
>
> 少なくとも以下を説明してもらわないと難しいでじょうね。
>
> ・フォーム内のコントロールがどのような構造になっでいるのか
> Form に直接貼られているのか、Panel や TabControl の上に貼り付けられているのか、目的のコントロールまでの階層を示す必要がある。
> 表示メニューのその他のウィンドウあたりにある、ドキュメントアウトラインを見ると、階層が見えるかもしれません。
>
> ・iLabel.Name がどのような値となるのか
> Name プロパティなので、デザイナーで名付けた Label1 や iLabel になっているはずですが。
>
> ・iLabel というコントロールは何型なのか
> 名前からすると Label 型のように見受けられますが、それだと exPitureBox を得るために Controls(iLabel.Name) としているのは何かおかしいです。
> Controls(iLabel.Name) は iLabel.Name の文字列を元にコントロールを得るので、結果は iLabel を得ることになるため。
とりあえず今わかることは、
exPitureBoxはpanel上にあります。
今参考にしているのは、
https://blogs.yahoo.co.jp/gogowaten/12512794.html
です。こちらのコードを参考にし、現在作っています。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86826
Re[5]: エラーになる
□投稿者/ Azulean -
(2018/03/23(Fri) 21:00:53)
2018/03/23(Fri) 21:05:20 編集(投稿者)
引用( > で始まる行)は必要最小限にしましょう。
■
No86825
(FRMC さん) に返信
> exPitureBoxはpanel上にあります。
そうであれば、Me.Controls(iLabel.Name) ではなく、panel1.Controls(iLabel.Name) といったようにパネルの中を探すように書かないとダメです。
-----
複数コントロールを扱っている関係で複雑になっているので、初歩で取り組むには向いていないかもしれませんね、このサンプル。
あとは、Name プロパティの意味を無視したサンプルになっていますね。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86827
Re[6]: エラーになる
□投稿者/ FRMC -
(2018/03/24(Sat) 10:22:17)
■
No86826
(Azulean さん) に返信
> 2018/03/23(Fri) 21:05:20 編集(投稿者)
>
> そうであれば、Me.Controls(iLabel.Name) ではなく、panel1.Controls(iLabel.Name) といったようにパネルの中を探すように書かないとダメです。
>
> -----
> 複数コントロールを扱っている関係で複雑になっているので、初歩で取り組むには向いていないかもしれませんね、このサンプル。
> あとは、Name プロパティの意味を無視したサンプルになっていますね。
panel1.controlsとしたところでその部分でのエラーは消滅しました。
しかし、
If iPic.Controls.Count > 2 Then '頂点が2個以上なら
のところでまたしても同じく
型 'System.NullReferenceException' のハンドルされていない例外が .exe で発生しました
追加情報:オブジェクト参照がオブジェクト インスタンスに設定されていません。
となります。
これはどういうことなのでしょうか???
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86828
Re[7]: エラーになる
□投稿者/ shu -
(2018/03/24(Sat) 14:33:29)
■
No86827
(FRMC さん) に返信
>
> panel1.controlsとしたところでその部分でのエラーは消滅しました。
その部分とはどの部分?
> しかし、
> If iPic.Controls.Count > 2 Then '頂点が2個以上なら
> のところでまたしても同じく
これより前でエラーが発生していたのでしょうか?
>
> 型 'System.NullReferenceException' のハンドルされていない例外が .exe で発生しました
>
> 追加情報:オブジェクト参照がオブジェクト インスタンスに設定されていません。
> となります。
>
> これはどういうことなのでしょうか???
>
iPicがNothingか
iPic.ControlsがNothingなのだと思います。
iPic = panel1.controls(iLabel.Name)
の時点でiLabel.Nameの値が対象となるPictureBoxの名前と一致しているか確認してみて下さい。
デザインで配置しただけだとNameは同じものは作成されないので、Nameが同じコントロールを作りたいのなら
プログラム上でNameに設定をする必要があるかと思いますがそのような処理はされていますか?
panel1上にiLabelとiPicに設定したピクチャーボックスが配置されているとすると
Controls(Name)の形式でピクチャーボックスが取得出来る保証はありません。
実行中に処理を行うピクチャーボックスが変わることがあるのでしょうか?なければ直接コントロール名がフォームの
フィールド変数として定義されているので
例えば
ExPictureBox1に対してiPicで行っている処理を行えばよいです。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86834
Re[8]: エラーになる
□投稿者/ Azulean -
(2018/03/24(Sat) 23:05:41)
2018/03/24(Sat) 23:05:58 編集(投稿者)
■
No86828
(shu さん) に返信
> の時点でiLabel.Nameの値が対象となるPictureBoxの名前と一致しているか確認してみて下さい。
> デザインで配置しただけだとNameは同じものは作成されないので、Nameが同じコントロールを作りたいのなら
> プログラム上でNameに設定をする必要があるかと思いますがそのような処理はされていますか?
No86825
で提示されているリンク先がそのようになっているそうです。
それを読んでいないと現状の質問には答えられないという回答者泣かせの流れです。。。
> 実行中に処理を行うピクチャーボックスが変わることがあるのでしょうか?なければ直接コントロール名がフォームの
> フィールド変数として定義されているので
> 例えば
> ExPictureBox1に対してiPicで行っている処理を行えばよいです。
サンプルが3キャンバスあるという妙に高難易度のものなので、それが通じないので困りどころです。。。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86830
Re[7]: エラーになる
□投稿者/ Azulean -
(2018/03/24(Sat) 20:11:06)
■
No86827
(FRMC さん) に返信
> これはどういうことなのでしょうか???
サンプルを改造していくという姿勢自体は否定しませんが、まずはサンプルをなるべくそのまま再現し、動く状態を目指しませんか?
今の時点では panel の中にあるなど、サンプルから変えて実現しようとしている形跡が見受けられます。
それがゆえに、サンプルから変えたところをコードも変えないといけなくなり、そして、コードを理解していないが故に、一歩進む度に質問すると言った状態=学習効率が悪い状態に陥っています。
そうではなく、サンプルを忠実に再現してから、少しずつ変えてみて、動く・動かないを観察し、コードの理解をしていくことを狙ってみませんか。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86832
Re[8]: エラーになる
□投稿者/ FRMC -
(2018/03/24(Sat) 22:53:44)
■
No86830
(Azulean さん) に返信
> ■
No86827
(FRMC さん) に返信
>>これはどういうことなのでしょうか???
>
> サンプルを改造していくという姿勢自体は否定しませんが、まずはサンプルをなるべくそのまま再現し、動く状態を目指しませんか?
> 今の時点では panel の中にあるなど、サンプルから変えて実現しようとしている形跡が見受けられます。
panelの中にあるのは、pictureboxの上に重ねてexpictureboxを配置するため、pictureboxがスクロールできない問題を解決するためです。
> そうではなく、サンプルを忠実に再現してから、少しずつ変えてみて、動く・動かないを観察し、コードの理解をしていくことを狙ってみませんか。
少しずつ変えた中突如エラーに陥りバックアップも取っていない中の問題でしたので質問させていただきました。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86835
Re[9]: エラーになる
□投稿者/ Azulean -
(2018/03/24(Sat) 23:10:35)
2018/03/24(Sat) 23:59:09 編集(投稿者)
■
No86832
(FRMC さん) に返信
> panelの中にあるのは、pictureboxの上に重ねてexpictureboxを配置するため、pictureboxがスクロールできない問題を解決するためです。
その改造の結果、ExPictureBox は1つになっていますか?それとも3つあるままですか?
1つになったのなら、iPic なんて使わずに、ExPictureBox1 というフィールド変数をそのまま使うべきです。
3つあるままなら、
No86827
で言われていた「panel1.controlsとしたところでその部分でのエラーは消滅」に対して、「If iPic.Controls.Count > 2 Then」で例外が出たという件、何か Nothing なのか説明してください。
> 少しずつ変えた中突如エラーに陥りバックアップも取っていない中の問題でしたので質問させていただきました。
そうであれば、自分の責任ですので、本来は自分で解決することが筋です。
他者にサンプルの元サイトまで読み込ませて、自分の状況(しかも、開示されている範囲で想像できないもの)に合った助言をさせるのは、回答者側の負担が高いというより、「誰にも答えられない」ものです。
ベストは回答者側に必要な最小限の変更点を示すこと、それができないなら、現状のデザイナーでの階層構造の説明と、ソースコードの提示です。
また、「バックアップを取っていないので戻せない」なら、「少し」ではないということです。
試行錯誤されるのであれば、こまめにバックアップを取りましょう。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86837
Re[10]: エラーになる
□投稿者/ FRMC -
(2018/03/25(Sun) 00:08:05)
> その改造の結果、ExPictureBox は1つになっていますか?それとも3つあるままですか?
> 1つになったのなら、iPic なんて使わずに、ExPictureBox1 というフィールド変数をそのまま使うべきです。
Expictureboxは最初から一つだけ存在します。つまり、ipicは使わないほうがいいのでしょうか。
ちなみに、この時点でipicは常にNothing状態です。
サンプルをコピペした時点では、Nothingでもそのまま実行できました。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86838
Re[11]: エラーになる
□投稿者/ Azulean -
(2018/03/25(Sun) 00:40:00)
■
No86837
(FRMC さん) に返信
> Expictureboxは最初から一つだけ存在します。つまり、ipicは使わないほうがいいのでしょうか。
サンプルは複数の ExPictureBox に耐えるように難易度高くしてあるものなので、1つしかないのなら iPic なんて作らずにフィールド変数を使ってください。
> サンプルをコピペした時点では、Nothingでもそのまま実行できました。
あり得ません。何か勘違いされているのでしょう。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86842
Re[12]: エラーになる
□投稿者/ FRMC -
(2018/03/25(Sun) 12:12:51)
2018/03/25(Sun) 13:33:46 編集(投稿者)
PC復旧したので解決済み削除
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86843
Re[12]: エラーになる
□投稿者/ FRMC -
(2018/03/25(Sun) 13:36:15)
> あり得ません。何か勘違いされているのでしょう。
ありえなかったようです。とりあえず現状はこちらの写真でお伝えします。
http://ossiy.net/wp-content/uploads/2018/03/2-1.png
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86844
Re[13]: エラーになる
□投稿者/ Azulean -
(2018/03/25(Sun) 15:41:35)
■
No86843
(FRMC さん) に返信
> ありえなかったようです。とりあえず現状はこちらの写真でお伝えします。
Nothing であった場合、iPic.Controls で確実に NullReferenceException が起きるので、「実行できました」というのは観測方法の間違いです。
どうやってそのウォッチを見ているのか知りませんが、きちんと iPic に代入する次の行まで実行したのですか?
関数の最初で止めると、実行されていない部分は Nothing 扱いで表示されるので、それを元に判断しているのなら「観測方法が間違っています」。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86847
Re[14]: エラーになる
□投稿者/ FRMC -
(2018/03/26(Mon) 17:37:39)
■
No86844
(Azulean さん) に返信
> ■
No86843
(FRMC さん) に返信
>>ありえなかったようです。とりあえず現状はこちらの写真でお伝えします。
>
> Nothing であった場合、iPic.Controls で確実に NullReferenceException が起きるので、「実行できました」というのは観測方法の間違いです。
> どうやってそのウォッチを見ているのか知りませんが、きちんと iPic に代入する次の行まで実行したのですか?
>
> 関数の最初で止めると、実行されていない部分は Nothing 扱いで表示されるので、それを元に判断しているのなら「観測方法が間違っています」
ウォッチにnothingと書かれていました。
記事No.86812 のレス /過去ログ149より /
関連記事表示
削除チェック/
■86848
Re[15]: エラーになる
□投稿者/ FRMC -
(2018/03/26(Mon) 20:26:57)
皆様、ご回答ありがとうございました。コードを以下のようにすることで、エラーが起きなくなりました。
Dim i As Integer = iLabel.Tag
ExPictureBox1.PointN.RemoveAt(i) '指定した頂点の情報削除
ExPictureBox1.Controls.Remove(iLabel) '指定した頂点の削除
Call 頂点の初期化(ExPictureBox1)
Call 線の描画(ExPictureBox1)
大変、お世話になりました。ありがとうございました。
記事No.86812 のレス / END /過去ログ149より /
関連記事表示
削除チェック/
<<
0
>>
パスワード/
-
Child Tree
-