ふらっとC#,C♯,C#(初心者用) Part21

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2007/12/15(土) 23:08:25
\
953デフォルトの名無しさん:2007/12/15(土) 23:08:31
画面上にテキストボックスを表示させるということを
aspx.csでやりたいのですが、これはTextBoxオブジェクトをインスタンス化して
表示するということは可能でしょうか?
Response.Writeでタグを吐けば表示可能ですが、この方法以外でやりたいのです。
なぜデザイナでタグをペチペチ配置しないかというと
例えばURLのパラメータによってテキストボックスの数が異なるからです。
なので、動的に生成する方法を知りたいのです。
よろしくお願いします。
954デフォルトの名無しさん:2007/12/15(土) 23:09:44
SafeHandleでラップしたらもはやそれはクラスだよ。
ハンドルそのものは値型で保持されるけど
ローカル変数じゃないからスタックとか関係ないよ。
955デフォルトの名無しさん:2007/12/15(土) 23:10:57
>>953
Designer.csを読めばわかる
956デフォルトの名無しさん:2007/12/15(土) 23:13:19
>>944
意味わかんね
プロセスハンドルをどうやって解放するつもりか

>VirtualAllocExで仮想メモリを割り当てて、開放しなかったけれども
解放しなかったのはメモリなのか?
957デフォルトの名無しさん:2007/12/15(土) 23:14:38
>>951
@をつけると\がエスケープ文字でなくなる。
VBはエスケープ文字がないし、C++は"c:\\temp"と\を重ねることでエスケープ文字でなくす。
958デフォルトの名無しさん:2007/12/15(土) 23:18:10
>>955
ありがとうございます。
会社の環境はVS2005なのですが、ちゃんと
aspx
aspx.cs
designer.cs
とワンセットで表示されるのですが、家の環境はWebDevelopperで
designer.csがソリューションエクスプローラに表示されません。
aspxなどの場所にdesigner.csファイルもありません。
これはどうやって表示させるのでしょうか?
WebDevelopperはソリューションファイルやプロジェクトファイルも無いんですよ(^^;
なので、いつもファイルをダブルクリックして立ち上げるのではなく
WebDevelopperを開いて、スターと画面から最近実行したソリューションの一覧から選択してる・・・
959デフォルトの名無しさん:2007/12/15(土) 23:22:35
>>956
メモリもプロセスハンドルも両方です
VirtualFreeしていないということです
960デフォルトの名無しさん:2007/12/15(土) 23:30:17
>>958
そんな初歩的なことを聞くな
会社で聞いたら一言で済む
961デフォルトの名無しさん:2007/12/15(土) 23:35:01
>>1
962デフォルトの名無しさん:2007/12/15(土) 23:35:42
今趣味でエロゲを作っているんだけど、ソースを晒せば
プログラミング構造に問題があるか、簡単なアドバイスをもらえたりするんでしょうか?
趣味で自分専用にやっているだけなので動けばいいんだけど
一人で黙々とやっているだけなのでだめなところに気づきにくい
963デフォルトの名無しさん:2007/12/15(土) 23:36:14
>>960
会社じゃあWebDevelopperなんて使ってないもんで誰もわからないと思われまする。。
964デフォルトの名無しさん:2007/12/15(土) 23:42:29
>>962
とにかく見てくれと言っても反応は得られにくいよ
965デフォルトの名無しさん:2007/12/15(土) 23:44:01
>>962
            ,l、::::::::::::::::::::::::::::::::::|:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:l
           ,ハ::`丶、:::::::::::::::::::::::|:;:;:;:;:;:;:;:;:;:;_,, -‐:〈
           {;;;;ヽ、:::::`丶、:::::::::::::l:;:;:;:;:;:; ィ";:;:;:;:;:;:;:}
           ,l;;;;;;;;;シ丶、:::::::`:`:ー'‐::'':"::::::::_, ィ"´;;l
          fうl;;;ミミ、  ``丶 、::::::::,: - ''"´  リ;;;;;;f-、
          { l l;;;;;ッ=`   (三> `^´ (三シ  ム;;;;;;ソl}
          t !;;;リ    _,,...,,_     _,,..,,_    l;;;//
           ゙l ヾ;l  :'ィテヘ9ンミ   ,: ',シヒ9ン、  l;//
           `ーll!   `''==ヲ'  l:.:^''==彡'" ,!リノ
               ll   ` '' "   l:.:.:` '' "  ,i;;l´
             li,     ,r .: :.ヽ、    ,:,り
              t、   / ゙ー、 ,r '゙ヽ  /,K′
              ゝ、 ,:'   :~:    } // /ヽ、
              /{lヽ ,ィ==ニニ==,ノ,ノ7 /:.:.:.:ヾニヽ
            , ィ/:.:い ヽ `` ー一 ''"/,/,/:.:.:.:.:.:.:.:ソ }- 、、
           / /:.:.:.:ヽヽ `' ー‐ -- '"//:.:.:.:.:.:.:/ /   ` 丶、
        ,, - {  ヾ:.:.:.:.ヽ丶     //:.:.:.:.:, -'" ,/       ` 丶 、
     ,, - ''"   丶、 `` ーゝ、ヽ.,_,,ィ"ェくユ- ''" , ィ"
966デフォルトの名無しさん:2007/12/15(土) 23:47:43
>>962

ゲ製板とかに行った方がいい
C#ってそんなに特殊な言語じゃないからC#知らなくてもC++かJava知ってる人なら読めるはず
967デフォルトの名無しさん:2007/12/15(土) 23:48:19
>>957
なるほど。わかりました。
968962:2007/12/15(土) 23:51:36
>>964
そうですか・・・
オブジェクト指向でプログラミングできているのかよくわからないんですけど
私の1000行のソースが上級者なら500行ぐらいに簡潔に表せたりするのかな?
同じ機能をあらゆるメソッドで何度も使う場合、それらをクラスにするようにしていれば
一応オブジェクト指向プログラミングできているのかな

>>965
な・・・なんですか?w
969デフォルトの名無しさん:2007/12/15(土) 23:54:15
そんなふうな不安を抱えていた時期が俺にもありました。




気楽に行こうぜ相棒
970デフォルトの名無しさん:2007/12/16(日) 00:19:13
>同じ機能をあらゆるメソッドで何度も使う場合、それらをクラスにするようにしていれば
>一応オブジェクト指向プログラミングできているのかな
   。 。
  / / ポーン!
( Д )

971962:2007/12/16(日) 00:28:51
972デフォルトの名無しさん:2007/12/16(日) 00:30:55
何気ない会話も私には意味があるの
あなただけ特別と思ってる
出会いは偶然で何処にでも在るとしても
二人なら永遠のストーリー
973デフォルトの名無しさん:2007/12/16(日) 00:40:23
>>968
オブジェクト指向っていうのはあくまで「指向」つまり考え方なわけで
「これをやればオブジェクト指向だぜ!」という明確な決まりはありませんのよ
974デフォルトの名無しさん:2007/12/16(日) 01:48:40
>>968
オブジェクト指向・・・
部品を作ってそれを組み合わせるって認識してるけど・・・どうなんだろう

エロゲなら例えば、
背景、画像、テキストなどの描画を管理するコンポジションクラス(レイヤー管理とか)
・背景、登場人物描画管理パーツクラス
・テキストボックス、テキスト描画管理パーツクラス
全体の動作・入力を管理するコンポジションクラス
・通常テキストの管理するパーツクラス
・選択肢発生・処理パーツクラス
・セーブ・ロード、オプションなどを管理するパーツクラス
描画・動作・入力対応を統括するクラス
登場人物のクラス(名前、画像、内部パラメータetc)
テキストをtxtファイルから読み込むクラス(後で修正を楽に行うため)
分岐情報やテキストの割り当て・管理を行うクラス

見たいにそれぞれの部品を作って、組み合わせるとか?
どういう風に部品分解するかは人それぞれだし、個人的には上記の例はさらにパーツクラスに分解されていき、
大体最大でも500行程度のクラスになると思う。(大体50〜200行程度になることが多いけど)


975デフォルトの名無しさん:2007/12/16(日) 01:56:21
ジェネリックメソッドを書くときに、まだ<T>と書いてないときに
戻り値の型をTと書こうとすると、IntelliSenceが勝手にThreadStaticAttribute
と入れてしまうのですが、うまい回避法はないですか?
Escを押せば回避できるのはしってますが、もっとスマートな方法はないでしょうか
976デフォルトの名無しさん:2007/12/16(日) 02:15:06
>>975
まったく関係ないが、初めてその属性を知った
こんなんあったんだ
977デフォルトの名無しさん:2007/12/16(日) 03:15:32
質問させてください。
Visual C# 2005 EEを使っているのですが、
0x80042740
というエラーがでてデザイナが表示されなくなってしまいました。
デザイナが表示されないこと以外は何の問題もなく動作します。
調べてもいまいち分りませんでした。
直す方法があれば教えていただきたいです。よろしくお願いいたします。
978デフォルトの名無しさん:2007/12/16(日) 03:21:48
エラーメッセージを端折らずに全部書きなよ
979デフォルトの名無しさん:2007/12/16(日) 03:24:36
申し訳ありません。よろしくお願いします。

場所 EnvDTE.FileCodeModel.get_CodeElements()
場所 Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.Parse(TextReader codeStream)
場所 Microsoft.VisualStudio.Design.Serialization.CodeDom.MergedCodeDomParser.System.CodeDom.Compiler.ICodeParser.Parse(TextReader stream)
場所 System.CodeDom.Compiler.CodeDomProvider.Parse(TextReader codeStream)
場所 Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_CompileUnit()
場所 Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
場所 System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)
980デフォルトの名無しさん:2007/12/16(日) 03:33:32
981デフォルトの名無しさん:2007/12/16(日) 03:37:40
申し訳ありません、本当に・・・。これでいいのでしょうか・・・。


デザイナの読み込み時に 1 つ以上のエラーが発生しました。エラーは以下に一覧表示されます。コードの変更が必要なエラーもありますが、プロジェクトを再度ビルドすると解決できるエラーもあります。

HRESULT からの例外: 0x80042740
非表示

場所 EnvDTE.FileCodeModel.get_CodeElements()
場所 Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.Parse(TextReader codeStream)
場所 Microsoft.VisualStudio.Design.Serialization.CodeDom.MergedCodeDomParser.System.CodeDom.Compiler.ICodeParser.Parse(TextReader stream)
場所 System.CodeDom.Compiler.CodeDomProvider.Parse(TextReader codeStream)
場所 Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_CompileUnit()
場所 Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
場所 System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)
982デフォルトの名無しさん:2007/12/16(日) 06:05:04
>>981
これは特定のフォームで出てるの?
もしそうならコンストラクタのInitializeComponent()の前後に追加したコードをコメントにしてみて。
983デフォルトの名無しさん:2007/12/16(日) 06:34:21
何かがnullのままだったり描画に関係するフィールドが想定値域の範囲外だったりと
初期化がうまくいってない気がする
コードうpすれば多分わかるけど
984あにす ◆sGTL1yK0.6 :2007/12/16(日) 09:17:39
オブジェクト指向…それは擬人化。
クラスとは、萌えなのです。
985デフォルトの名無しさん:2007/12/16(日) 10:11:05
アニサキス
986962:2007/12/16(日) 11:39:50
>>974
私のプログラムはそんなに綺麗に役割分担できてないかも・・・・
あらゆるクラスがあらゆることをやっている感じになって
非常に修正が難しいプログラムになってます・・
設計をもう一度見直そう・・・
987デフォルトの名無しさん:2007/12/16(日) 11:51:21
あまり悩みすぎてもしょうがないよ
一番必要なのは経験だろうから

ずっと経ってから初期の自分のコードを見直すと丸ごと直したくて仕方ない衝動に駆られたりするけど
それはそういうものだと思う
988デフォルトの名無しさん:2007/12/16(日) 11:53:44
最初から完璧を目指そうとすると
一歩も動けなくなるのさ
989962:2007/12/16(日) 12:36:31
やさしさに感動
もう少し力抜いてやります
プログラムたのしー
990デフォルトの名無しさん:2007/12/16(日) 14:02:50
>>977
ジェネリックメソッドのコードスニペット作れば
991990:2007/12/16(日) 14:04:32
間違えた>>975
992デフォルトの名無しさん:2007/12/16(日) 14:07:54
スニペットを使う習慣を作るよりは
T Esc と入れる習慣を作る方が楽なような
993762:2007/12/16(日) 14:42:26
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0"><Header><Title>GenericMethod</Title>
<SnippetTypes><SnippetType>Expansion</SnippetType></SnippetTypes</Header>
<Snippet><Declarations><Literal Editable="true"><ID>methodName</ID>
<Default>MyMethod</Default></Literal><Literal Editable="true"><ID>args</ID>
</Literal></Declarations><Code Language="csharp"><![CDATA[T $methodName$<T>($args$)
{
$end$
}]]></Code></Snippet></CodeSnippet></CodeSnippets>
作ってみたけどたぶんT Escの方が早いよ
994デフォルトの名無しさん:2007/12/16(日) 16:18:56
教えてください。

Repeaterにユーザコントロールファイルをセットして実行し、
ascx.csでRepeater.DataSourceに入っているデータレコードを取得したいのですが
そんな事は可能でしょうか?

this.rep.DataSource = dataTable;
this.rep.ItemTemplate = Page.LoadTemplate("Test.ascx");
this.rep.DataBind();

Test.ascx.csでdataTableのレコードを取得したい。
ascxでは
<%# DataBinder.Eval(((RepeaterItem)Container).DataItem, "name") %>
で取得可能なのですが、これをascx.csでやりたい。
何でかと言うと、この値によって処理を変更したいからです。

お願いしますm(_ _)m
995デフォルトの名無しさん:2007/12/16(日) 18:32:41
DataGridViewの1つのセルの中に複数のボタンを配置したいのですが、
どうやるのでしょうか?

こんな感じにしたいのですが。
----------------------------------------
| header1          |header2       |
----------------------------------------
|AAA             | (ボタン1)(ボタン2)|
|                | (ボタン3)(ボタン4)|
----------------------------------------
|BBB             | (ボタン1)(ボタン2)|
|                | (ボタン3)(ボタン4)|
----------------------------------------
996デフォルトの名無しさん:2007/12/16(日) 18:34:40
Here is Japanese OK.
997デフォルトの名無しさん:2007/12/16(日) 18:46:37
お前こそちゃんとした英語書けよw
998デフォルトの名無しさん:2007/12/16(日) 19:31:12
ここには日本のOKがあります


でっていう
999デフォルトの名無しさん:2007/12/16(日) 19:54:19
新スレ
ふらっとC#,C♯,C#(初心者用) Part22
http://pc11.2ch.net/test/read.cgi/tech/1197802312/
1000デフォルトの名無しさん:2007/12/16(日) 19:57:00
ぬるぽ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。