[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/01 10:26 / Filesize : 178 KB / Number-of Response : 1013
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 12:02:50.03 ID:845Zva4M.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part122
echo.2ch.net/test/read.cgi/tech/1468078489/

■関連スレ
C#, C♯, C#相談室 Part91
echo.2ch.net/test/read.cgi/tech/1467142749/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/

802 名前:デフォルトの名無しさん [2016/08/07(日) 18:19:33.74 ID:32NIqZEs.net]
UWPでMediaElementからサムネイルを生成するにはどうすればいいでしょうか?
WPFの情報はあったのですが、
UWPではDrawingVisualなどのクラスが無く、残念ながら使えないようです

[WPF を使って動画のサムネイルを生成してみた]
blog.shibayan.jp/entry/20140622/1403369829

803 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 18:52:07.79 ID:8IuPruWT.net]
float同士の掛け算って全桁数同士かけてるんですか?

804 名前:デフォルトの名無しさん [2016/08/07(日) 18:52:58.75 ID:Hs7zhzLr.net]
linqの勉強の仕方がわからない…
書籍がいいのかなあ

805 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 19:00:47.03 ID:+Hf3yfaO.net]
5

806 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 19:01:59.53 ID:+Hf3yfaO.net]
6

807 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 19:08:23.61 ID:e9qgeSIc.net]
webだと品質がばらけてるから書籍の方が良いかもね

808 名前:デフォルトの名無しさん [2016/08/07(日) 19:19:17.54 ID:lsYouBYR.net]
>>795
UWPなんかやってる奴このスレにおらんよ
UWPスレの過疎具合考えると、このスレどころか2ch全体で考えても怪しいが

809 名前:デフォルトの名無しさん mailto:sage [2016/0 ]
[ここ壊れてます]

810 名前:8/07(日) 19:24:52.36 ID:+Hf3yfaO.net mailto: 7 []
[ここ壊れてます]



811 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 19:31:21.81 ID:4ZSsrl0W.net]
OSがバージョンアップする度にガラガラポンされたんじゃ
お勉強マニア以外は誰も怖くて手を出せないよねw

812 名前:デフォルトの名無しさん [2016/08/07(日) 19:35:16.14 ID:lsYouBYR.net]
>>796
C#の浮動小数点数の仕様はIEEE754の仕様とおんなしです
仮数部だけ積算、指数部は加算、あとは正規化
これ以上詳しいことはIEEE754の資料を自力で読んでね

813 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 19:48:20.11 ID:+Hf3yfaO.net]
8

814 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 21:00:16.97 ID:fcuzYiGJ.net]
そもそもこんな確認し難い言語の機能なんて使うのやめたらよくね?
滅茶苦茶持て余してんじゃん
雑魚が効果の検証もせず実戦投入して使えない(少なくともお前には)ことが
実戦中に判明してあーこりゃこりゃ?

815 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 21:02:19.90 ID:qhM5EVMa.net]
デバッガもテストフレームワークも完備してるのに使いこなせてない奴に問題がある
猫に小判

816 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 21:06:36.30 ID:+Hf3yfaO.net]
9

817 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 21:14:11.73 ID:+Hf3yfaO.net]
10

818 名前:デフォルトの名無しさん [2016/08/07(日) 23:15:36.81 ID:lsYouBYR.net]
雑魚と一緒に仕事しなけりゃならないって最高に不憫よね
さっさと転職しましょ?

819 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 23:23:19.04 ID:97iEuCM1.net]
1

820 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 23:23:41.78 ID:97iEuCM1.net]
2



821 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 23:23:45.24 ID:97iEuCM1.net]
3

822 名前:デフォルトの名無しさん mailto:sage [2016/08/07(日) 23:25:26.03 ID:8kEt+rxK.net]
NUnitとかもう使わないのかな

823 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 01:06:30.90 ID:QxdEiuhl.net]
1

824 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 02:04:46.23 ID:QxdEiuhl.net]
2

825 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 08:26:02.03 ID:JtYOOGS+.net]
>>795
MediaCompositionならできるらしい
https://msdn.microsoft.com/en-us/library/windows/apps/windows.media.editing.mediacomposition.getthumbnailasync
stackoverflow.com/questions/37301248/how-to-read-frames-from-a-video-as-bitmaps-in-uwp

826 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 09:31:12.03 ID:ZnfnxfDU.net]
>>814
使ってるよ

827 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 10:47:55.34 ID:M+LLKMMi.net]
aがプラスかマイナスかって判断して、前回のaより小さければTRUEて感じの処理をさせたいのですがどうすればいいのですか?

828 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 10:55:34.88 ID:/oRCvZgG.net]
>>819
日本語になってないよ
何言ってるのかさっぱりわからん

829 名前:155 mailto:sage [2016/08/08(月) 10:56:33.55 ID:x/CscpwD.net]
>158,159
以下のようにしたらOKでした。

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct HOGE
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=256)] public String hoge1;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=256)] public String hoge2;
}

830 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 11:58:57.99 ID:/ZdwISov.net]
>>819
なにやりたいのかわからないけど前半と後半を分ければ聞くほどのことでもないだろうに
aがプラスかマイナスかって判断して
if (a > 0) { }
前回のaより小さければ
if (a < a1) { } //a1は前回のa



831 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:08:40.37 ID:1DdymLLZ.net]
{..., -3, -2, -1, 0, 1, 2, 3, ...} と 正の整数 n を渡されたとき
n が 3 なら
{..., 0, 1, 2, 0, 1, 2, 0, ...} を計算する式を教えて下さい

リングバッファのインデックスを負数に対応させたいのが動機です

832 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:12:52.84 ID:7J5GfyuY.net]
>>823
普通に % 3 で 3 の剰余をとるんでいいんでないの?
配列まるごとやりたいってことかな

833 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:17:19.28 ID:7J5GfyuY.net]
ってC#は絶対値最小剰余なのか、、うーん

834 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:33:33.15 ID:/oRCvZgG.net]
何言ってるのかよく分かんないなあ
もっと要件を数学的に定義できんの?w

配列を別の配列に変換したいのか、それともリングバッファのインデックスを
一つ進める/戻すメソッドが欲しいのかさっぱり分からん。

835 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 12:33:57.64 ID:gUASh279.net]
(n % 3 + 3) % 3

836 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 13:51:04.86 ID:1DdymLLZ.net]
>>827 で上手くいきました
ありがとうございます

837 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 14:18:11.23 ID:/oRCvZgG.net]
>>827はエスパーか
でもnを別の意味で使ってるところが意地が悪いなw

838 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 14:41:28.74 ID:rnVSSJUo.net]
VSで、あるオブジェクトの中のプロパティ内に「string型の'hoge'という文字列」が格納されてるかどうやって探すの?
WebBrowserオブジェクトにサイトページ読み込ませて中身探りたいんだけど、ブレイクポイントで止めて
オブジェクト内をちまちま探してるんだが膨大すぎて探しきれない

839 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 14:52:03.88 ID:WKOlrh2r.net]
ブレイクポイントってことは開発時なんだよな
IEでそのページ開いて開発者ツールのDOM Explorerで検索した方が早くない?

840 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 16:15:08.57 ID:rnVSSJUo.net]
>>831
まあそうなんだけど、いちいち開発ツールと両方でやるのも面倒なのと、
Cookieとかjsで生成された値が必ずしも同じ値を保持してるわけじゃないんだよね

あと開発ツール側で値が見つかっても、c#のオブジェクト側でどのプロパティに格納されてるかも探したい
プロパティを探すのすら大変なんだ…



841 名前:190 mailto:sage [2016/08/08(月) 17:14:35.66 ID:BpPFt88B.net]
xmlファイルにある、A〜ZまでのデータをDATASETに読み込んで、任意のデータ(例えば、ACDMNZ)をDATAGRIDVIEWに表示させる方法を教えてください。

842 名前:190 mailto:sage [2016/08/08(月) 17:16:49.33 ID:BpPFt88B.net]
途中で書き込んでしました。

前回のSELECETメソッドを使えばいいかなと思ったのですがXMIファイルをすべて読み込んでしまってうまく動作しませんでした。

843 名前:190 mailto:sage [2016/08/08(月) 17:26:58.46 ID:BpPFt88B.net]
dataset.RedXmi(test.xml);
DataRow[] dataRows = dataSet.ables["Table1"].Selec

844 名前:et("#2016/08/01# <= Column1 and Column1 <= #2016/08/031# ")
for(int i =0; dataRows.Length;i++)
{
dataGridView1.DataSource = DataRows;
}
[]
[ここ壊れてます]

845 名前:デフォルトの名無しさん [2016/08/08(月) 18:04:01.70 ID:3Hc67267.net]
>>817
おお、情報ありがとうございます
ローカルの動画ファイルを指定してサムネイルを生成できるみたいですが、
オンラインの動画(http://〜)だと無理っぽいですね・・・惜しい

846 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 19:59:39.78 ID:dgKDPWbr.net]
16進カラーコードから色名に変換する方法はありますか?

847 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 20:01:22.84 ID:KAePj+8Y.net]
>>837
www.atmarkit.co.jp/fdotnet/dotnettips/239colorconv/colorconv.html

848 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 20:07:19.38 ID:dgKDPWbr.net]
>>838
ありがとうございます

849 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 21:43:12.35 ID:iUe2RC+z.net]
>>827
凄いな

850 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:01:10.30 ID:MwP/DwqP.net]
パラレルについて聞きたい
ウィンドウズフォームを使ってコーディングしてる
そのなかでフォームじゃないcsファイル内で片方はそのcsファイル内で、もう片方はフォーム立ち上げて並列処理したいんだけどアドバイスクレメンス

parallel.invoke(
()) => {
//A側の処理
},
()) => {
//B側の処理
Form frm = new Form();
frm.Show();
} );

Aの処理で値が変化していくんだけどある値になるまで
Bのフォーム内でその値を表示し続けたい
ただ値をうまく反映する方法がない
値はint型のなんかと思ってくれれば良いので…



851 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:20:47.96 ID:4wAqez6C.net]
>>841
Parallelは同じ処理を並列でやるためのものなので
そういうのはTaskの仕事
frm.Show();
await Task.Run(() => {
 while (値 != ある値) {
  値 = なんか処理();
  frm.BeginInvoke((Action)(() => {
   frm.値を表示(値);
  }));
 }
});
frm.完了したよ();

852 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:24:01.31 ID:4EpZ/mMx.net]
>>842
showで開いた後に、その中で並列にされるのか!
やってみる

853 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:29:09.79 ID:4EpZ/mMx.net]
あれコードを書いていただいて申し訳ないんだが
Showを開いたらそこで止まらないだろうか
イメージとしてはプログレスバーをそこで開きたいんだ
進み具合を

854 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:33:49.45 ID:4wAqez6C.net]
>>844
Showは止まらない
止まるのはShowDialog

855 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:35:18.57 ID:RTJ7AFUW.net]
>>845
まじか
モーダレスとモーダルの違いだけだと思ってた
地味にかっこいい Showは止まらない
awaitに線が引かれる悲しい

856 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:41:55.73 ID:robrIdsq.net]
>>846
メソッドにasync修飾子を付けないとawaitは使えないよ

857 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:45:51.02 ID:RTJ7AFUW.net]
>>847
まさかそんなことが
一応それっぽくはなったけどもリアルタイム性が出てこない…

858 名前:デフォルトの名無しさん mailto:sage [2016/08/08(月) 23:52:39.12 ID:RTJ7AFUW.net]
とりあえず出来ました
ありがとう
ただ範囲外のも並列されている形になってしまった…

859 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 00:06:14.07 ID:W0CalsaA.net]
どんな形なんだよ

860 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 00:10:53.44 ID:e2AB2aAp.net]
>>850
本来この処理が終わってから別フォームCが立ち上がるのですが
プログレスバーが出てくるまでは良くそのままフォームCも立ち上がるようになりました…
そのためプログレスバーよりも前に出たり
あまり望ましくない完全なリアルタイムの処理に…

完全に処理を終わらせてから(上記ではAです)
Cのフォームを立ち上げたかったのですが…
処理順序としては

mainでCをShowDialogで呼ぶ

Cのコンストラクタで>>841の処理をする関数を呼ぶ

並列処理+残り処理数をプログレスバーで表示

終わり次第Cが立ち上がる

こうしたかったです



861 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 00:26:02.73 ID:L97BkT5P.net]
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/2a723e51-2f6f-440b-811f-ccd629c6846f

これ見てると弱参照を使用するのが賢い気がするけど、
すぐGCで回収されちゃうだろうから弱参照の実装に手間かけても旨味ないのかな?

862 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 00:51:25.88 ID:e2AB2aAp.net]
>>851
mainってのは一番はじめのフォームってことです
ログインフォームがあってそのフォームからイベントでCが呼ばれます

863 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:02:46.51 ID:L89qxkLm.net]
>>851
こういう感じはどうかな?
public FormC()
{
 InitializeComponent();
 Task.Run(() =>
 {
  FormB frmB = new FormB();
  frmB.Show();
  //なんか処理
  frmB.Close();
 }).Wait();
}

864 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:15:07.80 ID:e2AB2aAp.net]
>>854
わざわざありがとう
質問ばかりですまないがこの形式だと
//なんか処理ってところでAにあたる部分をさせるんだと思うんだけども
それだと並列はどこに出てくるのだろうか…
FormBに反映ができない気がして

865 名前:デフォルトの名無しさん [2016/08/09(火) 01:23:56.16 ID:mCEAgHsh.net]
というかTask.Runの中ってUIスレッドじゃなくない?
こういう場合はいいんだっけか

866 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:24:18.12 ID:L89qxkLm.net]
>>855
>>842のラムダ式の部分と同じようなので良くない…かな?
(Task内でインスタンスを作ってるので BeginInvokeの必要がなくなるけど)
Bって、C起動までの進捗報告だけのフォームかと思ったけど、そうじゃないのかな…

867 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:26:02.14 ID:L89qxkLm.net]
>>856
Task内で生まれたFormにとってはTaskの実行されてるスレッドが自分のUIスレッド
…だと思うw
一応、ProgressBar動作させて実験したし…

868 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:35:37.24 ID:e2AB2aAp.net]
>>857
まさに言われてるように進捗報告だけのフォームです
Aが100回回るとしたらその残りをプログレスバーで表示させる的な感じです

プログラムを明日試してみたいと思います。
ただちょっとわけあってコンストラクタには入れにくいので別のとこに組み込んでみる…

俺の中では>>842では「whileが抜け出すまでフォームもやり続けるよ。ある値になったら抜けるよ」って意味で
2個のタスクのみが動くものだと思ってるのだけど合ってるのかな…?
そしてmainのタスク(while)が終わるまでそこで処理が止まる…ってなると思っていたけども、
どうやらその先に勝手に進んでいるみたいでtaskが三つ以上あるように見えて

869 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 01:46:06.06 ID:L89qxkLm.net]
awaitは別スレッドでの処理を待っててくれるけど、元スレッドの処理は止めない。
ここ↓がわかりやすいと思う
非同期メソッド入門 (2) - async修飾子とawait演算子 - xin9le.net
blog.xin9le.net/entry/2012/07/19/002126

Task.Waitは非同期処理の完了まで元スレッドをブロックする
(今回はこっちの方がよさそうだけど、実はデッドロックの危険もある↓)
async/await 〜非同期なライブラリは楽じゃない〜 - 飽きっぽい人のブログ@qwerty2501
qwerty2501.hatenablog.com/entry/2014/04/24/235849

ちょうど今自分も非同期処理を勉強中だったんだ…
お役に立てば

870 名前:デフォルトの名無しさん [2016/08/09(火) 01:49:02.08 ID:eE ]
[ここ壊れてます]



871 名前:75C0zQ.net mailto: 質問です
XmlNodeReaderやStreamWriterはusingで囲めるためリソースを破棄することができますがXmlDocumentではできません

XmlDocumentのLoadメソッドでファイルを読みだした後、違うコンストラクタでStreamWriterを使い再度ファイルを呼び出そうとしたところ、そのファイルは別のプロセスで使われているとエラーを吐いてしまいます

この二つには関係があるのでしょうか?
また、XmlDocumentのリソースを破棄する方法はないのでしょうか?
[]
[ここ壊れてます]

872 名前:デフォルトの名無しさん [2016/08/09(火) 04:15:50.72 ID:mCEAgHsh.net]
>>861
StreamとかTextReaderを受け取るオーバーロードを使って、StreamとかReaderの方をusingで閉じれば
https://msdn.microsoft.com/ja-jp/library/system.xml.xmldocument.load(v=vs.110).aspx

873 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 07:19:44.22 ID:HRQ9KN0P.net]
>>851
こうすれば?
public FormC() {
 this.Visible = false;
}
async void FormC_Load() { //CのLoadイベントハンドラ
 frmB.Show();
 await Task.Run(() => {
  //>>842と同じ
 });
 frmB.Close();
 this.Visible = true;
}
UIスレッドは常にシングルスレッドで絶対にブロックしないように作るのが
HTML/JS、Android、iOS、UWPなど今時の標準的なGUIプログラミングのスタイルなので、
夏休みに勉強でプログラミングしてるんなら時代遅れのWinFormsを使う場合でも慣れといた方がいいよ
ShowDialogやDoEventsは使わない

874 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 07:47:57.18 ID:ToL5aceR.net]
Form1のListViewをそのままForm2のLstViewにも表示させたいのですがどうやればいいのでしょうか?

875 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 07:56:39.38 ID:hbabIC8y.net]
>>860
>>863
お二人方長々とありがとう
頑張って作ってみるよ
お察しの通り夏休みで勉強中です

同期・非同期などもまだまだ学ぶことが多いなと実感中です
どれが止まってどれが動いてってのがなかなかわからないからコーディングしまくるしかないね

お二人方はFormCのロードでタスクrunさせることを言われてるけども
これはここでするのが必須ってことで良いんだよね
>>860で「 awaitは別スレッドでの処理を待っててくれるけど、元スレッドの処理は止めない。」「
Task.Waitは非同期処理の完了まで元スレッドをブロックする 」と
言っているのがこのタイミングでのRunに当たるのかなと読み取った
呼び出し先でないと少しタイミングの合わないものが存在するので
そこをどうにか出来ないかとあれこれやってみます

876 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 09:26:34.60 ID:eypRXuHG.net]
タスクじゃなくてスレッドじゃね?
ただうまくコード書けんかったわ俺には

877 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 10:48:51.25 ID:j/Q51pNB.net]
>>863
お二方の試させていただいたけど
やはり処理待ちをしてくれない…何故なんだろ

878 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 11:39:23.68 ID:BU0WPlE5.net]
loadでタイマーイベント起こして、
そのイベントで待ち処理をしてみては。

879 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 11:39:51.75 ID:bJX8y2k6.net]
>>867
後続(にするつもり)の処理はどこに書いてるのよ?

880 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 12:22:19.05 ID:3FV3+BA1.net]
LINQでズバリ↓をやりたいのですが
うまく動きません

[C#]DataGridViewから,指定した条件に合うデータをLINQで取得する
nanoappli.com/blog/archives/2331


DataGridViewRow に型変換できねーぞ
キャストしろよゴルァ

って感じのメッセージが出るんですが、あのソースは正しいのでしょうか。



881 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 12:44:32.93 ID:To3JSt2U.net]
ToString
Toint32

882 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 13:05:24.59 ID:LeDvruj5.net]
>>870 こうかな?
IEnumerable<DataGridViewRow> rowList = null;
rowList =
 dgv.Rows.Cast<DataGridViewRow>()
 .Where(row =>
  row.IsNewRow == false &&
  row.Cells["ColKey"].Value.ToString() == keyValue);

883 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 13:41:41.36 ID:Lgzk2fEI.net]
>>867
非同期はタイミング次第で、うまく行ったり行かなかったりする

処理A、処理B と書いても、
Aではキューに入れるだけで、Bが先に処理されたり、

逆に、Aでキューに入れられたものが、Bより先に、すぐに消化されてしまったり

884 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 16:41:52.99 ID:r97uYqz/.net]
WinFormで、フォームを常にアクティブにしておく方法ってありますでしょうか?
一時的に他のソフトを立ち上げても、WinFormが常にアクティブの状態(キー入力を受け付ける状態)にしたいです。
もしくは、WinFormがアクティブで無くてもキー入力は受け付ける様にしたいです。
よろしくお願いします。

885 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 16:49:23.12 ID:lpBcjy/9.net]
>>874
言ってる事が矛盾してるような気がするけど、それはともかく
ホットキーで検索してみた?

886 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 16:54:41.34 ID:NuLrqlAG.net]
>>874
キー入力はフォーカスがあたっていないと受け付けない
だからフォームをTopMost=trueにしてキー入力を受けるコントロールにFocus()するとか工夫するしかないんじゃないかな
MouseEnterでFocus()するとか
>>875
使うキーが決まっているのならそっちの方が確実だろうな

887 名前:デフォルトの名無しさん [2016/08/09(火) 16:55:30.72 ID:CkRClEjI.net]
キーロガーの機能ですね。できますよ。

888 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:17:44.81 ID:r97uYqz/.net]
>>875
グローバルフックとかは試してみたけどうまくいかなくて、ホットキーは初耳でした。
勉強してみます。

>>876
TopMostではうまく行きませんでした。
常に最前列に表示はされるのですが、アクティブなフォームが変わるとフォーカスが消えてしまって入力出来ませんでした。
使うキーは決まっているので、もう少し勉強してみます。

889 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:21:06.54 ID:NuLrqlAG.net]
>>878
TopMost=trueだけだとフォーカスはあたらないしフォームにFocusしてもキー入力は受けられない
TopMost=trueするのは常に表示させるため。コントロールにFocusしないと

890 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:35:43.36 ID:r97uYqz/.net]
何度もすいません。
>>875
ホットキーってキー1つでも出来ますでしょうか?
サンプルを見るとCtrlやAltと組み合わせた場合ばかりで・・・。
RegisterHotKey(this.Handle, HOTKEY_ID, (int)Keys.Enter);
みたいに、キー1つでも出来ますでしょうか?

>>877
GetAsyncKeyStateは簡単そうですが、使う時ってタイマーで常に回していないとダメでしょうか?

>>879
コントロールにフォーカスが無いとキー入力をしても意味が無いのはわかります。
一度アクティブでは無くなっても、コントロールにFocusする方法ってありますでしょうか?



891 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:37:44.38 ID:BU0WPlE5.net]
自分アプリケーションだけで終わる話なので、
キーダウン/キーアップをメインフォームに通知するだけで良いと思います。
下手にキー操作を全部取るとセキュリティ的にそのアプリは使いたくなくなります。

892 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:43:37.54 ID:1y7DBS0u.net]
目的がよーわからんけどLLフックも視野に入れたほうが・・・

893 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:46:10.93 ID:AJ2CLbue.net]
>>880
2つ目と3つ目は似たようなことだと思うよ
アクティブでなくなると反応を受けなくなるんだからタイマーなどで自発的に入力情報などを取りに行くしかない
常にアクティブにしてフォーカスが来るように考えたほうがいいんじゃない?

894 名前:デフォルトの名無しさん [2016/08/09(火) 17:48:53.93 ID:mCEAgHsh.net]
グローバルキーボードフックが上手くいかなかった理由を解消した方が早いだろ
馬鹿か

895 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 18:50:53.84 ID:cjmyDJ6c.net]
リッチテキストボックスに+=でコメント追加するのに、上から追加していく方法ありますか?

896 名前:デフォルトの名無しさん [2016/08/09(火) 19:09:34.62 ID:UK97IaF1.net]
そんなセマンティクス断固無視みたいな操作できるわけねーだろ

897 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:38:47.93 ID:snE3xX4a.net]
会社でvar禁止令がでそうなんだけど、その理由が可視性が悪いからとかお前らエディタ使ってるのかよと・・・

898 名前:デフォルトの名無しさん [2016/08/09(火) 19:44:17.53 ID:CkRClEjI.net]
書き方によってはバグが隠れてソースからは発見できないだろ、この初心者が。
それともおまえはvarがあるたびにいちいちマウスカーソル移動させて型を確認するのか?

899 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:59:42.55 ID:rTlnm3J6.net]
varがだめならdynamicがあるじゃない

900 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:05:48.72 ID:A+GvPbuv.net]
>>888
型間違っていたら、直下でオブジェクト使うところでエラーになるだろうに



901 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:07:28.21 ID:JS0TrNVx.net]
varが駄目ならTがあるじゃない

902 名前:デフォルトの名無しさん [2016/08/09(火) 20:13:09.44 ID:CkRClEjI.net]
>>890
ならないパターンがいくらでもあるだろ。違うクラスで同じメソッド名なんて腐るほどある。
後ろで.ToString()使って終わりなら手抜きテストなら簡単にパスしてしまう。

何が最悪ってvarやLINQ使いたがる奴ほどテストを端折る。コードを端折るような奴だからな。>>887 たとえばこいつ。禁止理由はおまえだよw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<178KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef