DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Me.closeでエラー

  • 題名: Me.closeでエラー
  • 著者: MILK
  • 日時: 2004/03/15 16:45:56
  • ID: 3060
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[VB.NET]
分類:[.NET]

Webアプリケーション、VB.NETについてです。
フォームを閉じるときに、
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.close()
End Sub
で、
「'close'は、'xxxxxxx'のメンバではありません。」
というエラーが出ます。
なぜでしょか?
> Webアプリケーション、VB.NETについてです。
> フォームを閉じるときに、
> Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
> Me.close()
> End Sub
> で、
> 「'close'は、'xxxxxxx'のメンバではありません。」
> というエラーが出ます。
> なぜでしょか?

そのまんま、Closeメソッドがないからでしょう。
Closeと指示して何をCloseするのでしょう?

WebアプリケーションはWindowsアプリケーションと違い、
WebFormはブラウザで表示しているあるページに過ぎません。
■No3063に返信(よねKENさんの記事)
>>Webアプリケーション、VB.NETについてです。
>>フォームを閉じるときに、
>> Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
>> Me.close()
>> End Sub
>>で、
>>「'close'は、'xxxxxxx'のメンバではありません。」
>>というエラーが出ます。
>>なぜでしょか?
>
> そのまんま、Closeメソッドがないからでしょう。
> Closeと指示して何をCloseするのでしょう?
>
> WebアプリケーションはWindowsアプリケーションと違い、
> WebFormはブラウザで表示しているあるページに過ぎません。
>

CloseメソッドはSystem.Windows.Foms.Formクラスのメソッドです。
(ほかのクラスでもClose()を備えているクラスはたくさんありますが、MILKさんはFormクラスのClose()を意識したのでしょう。)
ウィンドウズフォームズアプリケーションでMe.Close()が使えるのは
Formクラスを継承しているからです。

このような間違いをなくすには、きちんとインテリセンスを活用することが大切です。Webアプリの開発中でMe.と入力してもClose()メソッドは出てこないと思いますよ。
>
> CloseメソッドはSystem.Windows.Foms.Formクラスのメソッドです。
> (ほかのクラスでもClose()を備えているクラスはたくさんありますが、MILKさんはFormクラスのClose()を意識したのでしょう。)
> ウィンドウズフォームズアプリケーションでMe.Close()が使えるのは
> Formクラスを継承しているからです。
>
> このような間違いをなくすには、きちんとインテリセンスを活用することが大切です。
Webアプリの開発中でMe.と入力してもClose()メソッドは出てこないと思いますよ。

そうですか。
確かにWebアプリの開発中でMe.と入力してもClose()メソッドは出てこないです。
では、どうすれば、よいのでしょうか?
  • 題名: Re[4]: Me.closeでエラー
  • 著者: Sugi@ぱぱんぶぃびぃ
  • 日時: 2004/03/15 21:00:38
  • ID: 3067
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
あまり詳しくないですが、クライアントサイドの話なので、
JavaScriptなどで閉じるしかないんじゃないでしょうか?
2004/03/15(Mon) 21:19:06 編集(投稿者)

> 確かにWebアプリの開発中でMe.と入力してもClose()メソッドは出てこないです。
> では、どうすれば、よいのでしょうか?

どうすればよいか?と聞かれても、どうしたいのか?がわかりません。
どうしたいのでしょうか?

No3063 で私は下記のように書いています。

> WebアプリケーションはWindowsアプリケーションと違い、
> WebFormはブラウザで表示しているあるページに過ぎません。

そこらへんにあるホームページで「閉じる」ボタンの付いているページがあるでしょうか?
あるとすれば、JavaScriptなどのクライアントサイドのスクリプトで
ポップアップ画面を表示した場合などにJavaScriptでその画面をCloseさせるような場合だけでしょう。
通常の画面に閉じるという動作は必要ありません。

つまり、通常、WebアプリにCloseという処理が存在しないので、
何をしようとされているのか意図がわかりません。
> そこらへんにあるホームページで「閉じる」ボタンの付いているページがあるでしょうか?
> あるとすれば、JavaScriptなどのクライアントサイドのスクリプトで
> ポップアップ画面を表示した場合などにJavaScriptでその画面をCloseさせるような場合だけでしょう。
> 通常の画面に閉じるという動作は必要ありません。
>
> つまり、通常、WebアプリにCloseという処理が存在しないので、
> 何をしようとされているのか意図がわかりません。

Sugi@ぱぱんぶぃびぃ のいわれるように、閉じるボタンのアクションで
画面を閉じたいのです。
■No3072に返信(MILKさんの記事)
> Sugi@ぱぱんぶぃびぃ のいわれるように、閉じるボタンのアクションで
> 画面を閉じたいのです。

ページのLoadイベントで、

Button1.Attributes("OnClick") = "window.close()"

という記述を追加されてはいかがでしょうか。
  • 題名: Re[7]: Me.closeでエラー
  • 著者: MILK
  • 日時: 2004/03/16 10:23:43
  • ID: 3076
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No3075に返信(よねKENさんの記事)
> ■No3072に返信(MILKさんの記事)
>>Sugi@ぱぱんぶぃびぃ のいわれるように、閉じるボタンのアクションで
>>画面を閉じたいのです。
>
> ページのLoadイベントで、
>
> Button1.Attributes("OnClick") = "window.close()"
>
> という記述を追加されてはいかがでしょうか。
>

それでできました。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板