ふらっと C#,C♯,C#(初心者用) Part117 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2015/10/02(金) 20:50:08.06ID:IGV3Viy6他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1436344868/
■関連スレ
C#, C♯, C#相談室 Part89 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1443271409/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
0002デフォルトの名無しさん 転載ダメ©2ch.net
2015/10/02(金) 21:08:10.59ID:FjrmJ/eh[DllImport("hoge.dll", EntryPoint="hoge")]
extern static int hoge_x86( int i);
[DllImport("hoge_x64.dll", EntryPoint="hoge")]
extern static int hoge_x64( int i);
public static int hoge( int i)
{
if( System.IntPtr.Size == 4 )
{
return hoge_x86( i );
}
else
{
return hoge_x64( i );
}
}
ではなく、
0003デフォルトの名無しさん 転載ダメ©2ch.net
2015/10/02(金) 21:11:20.55ID:FjrmJ/ehstatic{
if( System.IntPtr.Size == 4 )
{
dll="hoge.dll";
}
else
{
dll="hoge_x64.dll";
}
}
[DllImport(dll)]
extern static int hoge( int i);
public static int hoge( int i)
{
return hoge( i );
}
じゃ駄目なんでしょうか?
0004デフォルトの名無しさん
2015/10/02(金) 21:45:20.31ID:7HANc3XLやってみて駄目なら駄目なんだろうよ
0005デフォルトの名無しさん
2015/10/02(金) 21:53:18.86ID:N6iuQlgLListboxについて質問させて下さい
For i = 1 To n
List.Items.Add(i)
Next
これだと縦に1,2…nとリストされてしまい困っています
最終的に1(改行)1,2(改行)1,2,3(改行)1,2…nというリストを作るプログラムが作成したいのですが…
0006デフォルトの名無しさん
2015/10/02(金) 22:12:17.02ID:FjrmJ/eh出来たのは出来たんですけど、このように書いているサイトがなかったので、何故かと思って…
0007デフォルトの名無しさん
2015/10/02(金) 23:19:40.26ID:qOcFsPemclass extend :base
というクラスがあり
baseに
static base Create(){return new base()}
があります。
しかし、これだとextend.Create()としてもbaseが返ります。
base.Create〈extend〉()としてもいいのですが、やはりextend.Create()としたいところです。
継承クラスで同じ名前のstaticメソッドを上書きできますが、基底のみで対応することは可能でしょうか?
0008デフォルトの名無しさん
2015/10/03(土) 00:42:19.31ID:ysYK4f75VB.NETか
ここはC#スレ
まぁそれはいいとして
間にカンマいるのかしらんけど、こういうことか?
Dim sb As New System.Text.StringBuilder()
For i As Integer = 1 To n
sb.Append(i)
List.Items.Add(sb.ToString())
Next
0009デフォルトの名無しさん
2015/10/03(土) 05:59:57.10ID:XVf29bWAできないでしょ
0010デフォルトの名無しさん
2015/10/03(土) 08:34:44.85ID:GmUX5JOaあ、書いた時点ではエラーでなかったですけどコンパイルしたらおかしくなりました
0011デフォルトの名無しさん
2015/10/03(土) 10:12:23.64ID:pt22Iv4Qpythonのclassmethodやね
たぶん、↓くらいしかできない
http://stackoverflow.com/a/2070448
0012デフォルトの名無しさん
2015/10/03(土) 16:20:15.81ID:hORN2AoM全スレ後半のデータベースの話は非常に参考になった
>localDB
この存在すら知らなかった
検索してもSqlCEやSQLiteばかりだし
利用する方法もEntityFrameworkばかりで苦労してやっとできたけど
localDB使う方法だと面倒な導入手続き無しにすぐ始められた!
>dapper
この存在も知らなかった
速さに関しては今のところEntityFrameworkでも特に問題ないけど
速くてかゆい所に手が届き、面倒なマップが手軽になっているので
これは使ってみたいと思った
EntityFrameworkだと大量にdllファイルができるし、自動化によって裏で何をしているいのか
よくわからないので不安感が付きまとう
SQLite+dapperでやってみようかな
0013デフォルトの名無しさん
2015/10/03(土) 19:47:53.51ID:g7xKsIu0奇遇だな。俺もDB五日目くらいだよ。
>localDB使う方法だと面倒な導入手続き無しにすぐ始められた!
と言いながら、
>SQLite+dapperでやってみようかな
というのは何故?
LocalDBよりもSQLite+dapperのほうがいいの?
0014デフォルトの名無しさん
2015/10/03(土) 19:57:11.23ID:VaoKZsdf0015デフォルトの名無しさん
2015/10/04(日) 00:15:20.07ID:iyBr7bUFlocalDBはC#でしか使われないのと
SQL Serverは導入は簡単だったけど
実際使い出すと奥が深くてとんでもなく難しそう
ノンプロなんで業務アプリを作ることもない
SQLiteは他言語や携帯端末にも使われていて
汎用的で情報も多いし簡単で配布にも便利
使い回しの効く技術学んだほうがいいかなーって思って
0016デフォルトの名無しさん
2015/10/04(日) 10:13:04.57ID:TDTWj9Zsyouは色々と勘違いしているよ
LocalDBは利用側の言語は問わないよ、VBAからだって使える
奥が深いのは当然、現在のLocalDBはT-SQL完全互換なのよ
SQLiteも良いね、でも汎用的かと言えば少し違うかもね
用途によってはSQLiteの方が良いというだけよ
だから使い回しの効く技術という点ならSQL Serverに軍配が上がるね
0017デフォルトの名無しさん
2015/10/04(日) 10:53:53.27ID:FsLwYc7A> SQLite+dapper
勉強する価値はありますか?
0018デフォルトの名無しさん
2015/10/04(日) 15:49:22.81ID:FUfjHrs1SQLite+EF6はだめだった
既存のDBにレコードを追加参照するだけなら簡単だったけど
動的にDBやテーブル作ろうとすると無理だった
LocalDB+EF6はモデルからデータベース作ろうとしたら
SQL Serverのダイアログが出てサーバー名とか出てきてなんだこれってなって
何を入力してもデータベースがどうたらとエラーが出る
それにランタイムみたいなので動いているようでめんどくさいと思った
調べるとLocalDBはあくまでテスト運用のためのもので
やっぱり業務アプリの開発者向けだったようだ
結局自分にはEF6は必要なかったという結論
それなら別にM$製のデータベースに拘る必要はないということで
SQLiteとそれを手軽に扱うMicro-ORMであるdapperという選択になった
SQLite+dapperを実際使ってみてSQL文を書かなきゃいけないのが面倒くさいが
SQLiteならチュートリアルサイトが山程ある
動的DB作成、動的テーブル作成もできた
導入もすんなり、全くエラー無し!
容量も14TBなので画像を保存しても気にしなくていい
EF前提でやってきた者からすれば
EFを使わなければこんなに簡単なんだって感動した
この選択肢で不満が出ることはないと思う
EFには二度と触らないと誓う
0019デフォルトの名無しさん
2015/10/04(日) 16:17:06.05ID:Vt6Jil15サブクラスで実装したいのですが…
javaだとabstractクラスにすれば実装しなくてもよかったんですが
0020デフォルトの名無しさん
2015/10/04(日) 16:52:15.00ID:WWC1qREk0021デフォルトの名無しさん
2015/10/04(日) 16:52:36.36ID:Vt6Jil15どうすればいいですか?
0022デフォルトの名無しさん
2015/10/04(日) 16:52:51.10ID:/6VAn0RfSQLite.netとかじゃダメなん?
0023デフォルトの名無しさん
2015/10/04(日) 18:00:36.61ID:0WB+oea1インターフェイスのメンバーにabstractつけりゃいいだろ
0024デフォルトの名無しさん
2015/10/04(日) 18:00:40.94ID:K/b1ABC4動的作成が必要ってよほどのシステムなんだな
ちなみに、EFのメリットは文字列SQLを扱わなくて済むことな
>>21
継承したクラスもabstractにする
0025デフォルトの名無しさん
2015/10/04(日) 18:03:28.27ID:K/b1ABC4>>24は忘れてくれ
0026デフォルトの名無しさん
2015/10/04(日) 18:35:52.48ID:Vt6Jil150027デフォルトの名無しさん
2015/10/04(日) 20:14:08.67ID:FsLwYc7Aおいらには難しい。何から始めたらいいのか。
0028デフォルトの名無しさん
2015/10/04(日) 20:25:58.00ID:4ZFUkYGv0029デフォルトの名無しさん
2015/10/04(日) 20:42:43.95ID:FsLwYc7A0030デフォルトの名無しさん
2015/10/04(日) 20:47:58.51ID:4ZFUkYGv0031デフォルトの名無しさん
2015/10/04(日) 20:53:49.03ID:FsLwYc7A0032デフォルトの名無しさん
2015/10/04(日) 21:16:12.67ID:4ZFUkYGv0033デフォルトの名無しさん
2015/10/04(日) 21:22:40.77ID:FsLwYc7A両方出来るわよ。openglはよく使ったわ。
0034デフォルトの名無しさん
2015/10/04(日) 21:26:32.67ID:Vt6Jil15と言う文字列から
args
を取り出すにはどうすればいいでしょうか?
GetDirectoryNameだとC:\Hogeになります
0035デフォルトの名無しさん
2015/10/04(日) 21:28:25.31ID:4ZFUkYGvなんだよ。初心者じゃないじゃん。神レベルじゃん。
0036デフォルトの名無しさん
2015/10/04(日) 21:33:14.06ID:0WB+oea1var path = @"C:\Hoge\args\";
var fileName = System.IO.Path.GetFileName( path.TrimEnd( '\\' ) )
0037デフォルトの名無しさん
2015/10/04(日) 21:36:42.41ID:Vt6Jil15ファイル名じゃなくてフォルダ名を取得したいです
0038デフォルトの名無しさん
2015/10/04(日) 21:40:47.99ID:GuH6DZcUマイナーなAPIだけど
new DirectoryInfo(path).Name
0039デフォルトの名無しさん
2015/10/04(日) 21:43:53.33ID:4ZFUkYGv再起
0040デフォルトの名無しさん
2015/10/04(日) 21:48:10.61ID:zHOzyLwfレスに文句ばっか言ってんじゃねーよ乞食
0041デフォルトの名無しさん
2015/10/04(日) 22:14:59.10ID:Vt6Jil15>>40
すみません
0042デフォルトの名無しさん
2015/10/05(月) 04:15:46.37ID:eQ2/zVIrhttp://ideone.com/cwKTg3
普通にできるじゃん
明示的実装してんの?
https://msdn.microsoft.com/ja-jp/library/aa664595%28v=vs.71%29.aspx?f=255&MSPPError=-2147217396
0043デフォルトの名無しさん
2015/10/05(月) 09:14:38.11ID:NpHnTe7L彼はhttp://ideone.com/bEzsTdを狙っているんでは?
出来なくても全く問題ないと思えるが、C#を欠陥言語だと揶揄したいのかな
0044デフォルトの名無しさん
2015/10/05(月) 10:35:28.87ID:LmMVGWnX強烈なコンプレックスを持ってるんだろうなあ…
0045デフォルトの名無しさん
2015/10/05(月) 15:46:26.20ID:eQ2/zVIrうーん、池沼としか言いようがないな
0046デフォルトの名無しさん
2015/10/05(月) 18:17:41.66ID:PVqgELRlDrawItemEventArgs.Indexに-1が渡されてくることがありますが
これってなぜ?
意味ないと思うんだけど。
だって描画しろというイベントでしょ?
いつも-1を除外するコードを書く度に思うんだけど!
と、ここまで書いて
背景を描けということなのかなと思い当たったけど合ってる?
0047デフォルトの名無しさん
2015/10/05(月) 19:45:13.85ID:W0LY67FTバインディングも融通が効くというか、わけわかんないというか、わけわかんないほう。
みんながerectronに飛びつくのもわかる気がするよ。
0048デフォルトの名無しさん
2015/10/05(月) 20:49:50.82ID:EY/b50y6どのみちHTMLは覚えなきゃならないし、HTMLで同じことは実現できるんだからわざわざWPFを使う理由がない
0049デフォルトの名無しさん
2015/10/05(月) 21:05:08.85ID:G+Q38Itw0050デフォルトの名無しさん
2015/10/05(月) 21:14:49.94ID:PVqgELRl0051デフォルトの名無しさん
2015/10/06(火) 16:36:11.30ID:H4LWLTNp確認画面も出ないのかよ
0052デフォルトの名無しさん
2015/10/06(火) 16:53:27.84ID:y3L8AxGi0053デフォルトの名無しさん
2015/10/06(火) 17:01:54.18ID:H4LWLTNp0054デフォルトの名無しさん
2015/10/06(火) 17:11:09.43ID:rJsBL5CgUpdate to revisionするとか
Show logからUpdate item to revisionするとか
0055デフォルトの名無しさん
2015/10/06(火) 17:25:06.67ID:UaXFQD8wな ん の は な し ?
0056デフォルトの名無しさん
2015/10/06(火) 18:51:35.50ID:b7EIiqyOどっちにしろアップデート要るからな
0057デフォルトの名無しさん
2015/10/06(火) 19:33:53.24ID:fQuxJtVKほ、ほら、SVNが適切にマージしてくれてるでしょ(震え声
0058デフォルトの名無しさん
2015/10/06(火) 21:04:13.40ID:eiV44Wn/0059デフォルトの名無しさん
2015/10/06(火) 23:55:21.99ID:EryYYvevクラスBのメソッド内でクラスAのメソッド使用
のような関係があるとき
依存性を減らすためにコンストラクタで相手のオブジェクトを受け取り、フィールドにセット
するような作りにしたいんですが、お互いにインスタンス作るには、もう片方が必要なため、作れません
こういうときはどういう作りにすべきですか?
テストコードを書くため、メソッド内で相手クラスをnewするのは無しでお願いします
0060デフォルトの名無しさん
2015/10/06(火) 23:59:03.30ID:8uRulS560061デフォルトの名無しさん
2015/10/07(水) 00:11:55.48ID:T1RoiOzFinterface IHage { void DoHage(); }
interface IHoge { void DoHoge(); }
class Hage: IHage {
private IHoge hoge;
public Hage(Func<IHage, IHoge> hogeFactory) { this.hoge = hogeFactory(this); } }
class Hoge: IHoge { private IHage hage; public Hoge(IHage hage) { this.hage = hage; } }
これで new Hage(hoge => new Hage(hoge)) としてインスタンス作ればいい
factoryを変えればテスト時にHageにダミーのIHoge実装を食わせることもできる
0062デフォルトの名無しさん
2015/10/07(水) 00:20:04.54ID:3pa+NQnnありがとうござました
0063デフォルトの名無しさん
2015/10/07(水) 00:24:26.54ID:T1RoiOzFnew Hage(hage => new Hoge(hage))
0064デフォルトの名無しさん
2015/10/07(水) 12:27:46.25ID:dQPZGG2o0065デフォルトの名無しさん
2015/10/07(水) 12:34:11.37ID:40NgKpJyダメなのは循環参照ではなく2つのクラスが相互に密結合する設計
0066デフォルトの名無しさん
2015/10/07(水) 12:51:31.86ID:dQPZGG2oVBスレでもそんなヨタを飛ばしてるバカがいたけど、.NETのイベントも
オブザーバパターンも実行時に参照を握るだけであってコード自体が循環参照してるわけじゃない
0067デフォルトの名無しさん
2015/10/07(水) 12:51:40.38ID:wgVSxFSaMethodB内では、クラスAのセッターを呼ぶ
みたいな処理は、どういう設計がいいんだろ?
>>61みたいにするのはよくない?
0068デフォルトの名無しさん
2015/10/07(水) 12:57:52.42ID:dQPZGG2oそんなことをしたくなる(しなきゃならない)時点でもう詰んでる。
クラスの切り分け方が根本的に不適切だからそうなる。
0069デフォルトの名無しさん
2015/10/07(水) 13:13:24.70ID:UidqiOp40071デフォルトの名無しさん
2015/10/07(水) 16:36:06.20ID:dQPZGG2oAがBに依存していないと偽装するという目的のためだけにインターフェイスIBを作ってBにかぶせても
AがBに依存している実態は何も変わらない。
そんなのただの欺瞞だ。
自分の欺瞞に自分で気づいてないなら自己欺瞞だな。
0072デフォルトの名無しさん
2015/10/07(水) 16:49:51.50ID:9sdQQKJG働けクソニート
0073デフォルトの名無しさん
2015/10/07(水) 18:25:15.82ID:wgVSxFSa間でやり取りするようなクラス追加したほうがいいってこと?
0074デフォルトの名無しさん
2015/10/07(水) 19:23:58.21ID:F4sBdgXs上位のクラスはProperyChangedイベントを監視するだけでいいし、下のクラスはPrism使うだけ
0075デフォルトの名無しさん
2015/10/07(水) 19:55:05.52ID:HxdUxcN3テスト時にダミーに差し替えるためだけの形式的なインターフェイスは普通に使われてるパターンだよ
嘘だと思うならVSのコードを逆コンパイルしてみたらいい
0076デフォルトの名無しさん
2015/10/07(水) 21:41:26.09ID:sdI3RqNo2015年1月のnumの合計を出したいのですが、
どのように書けば可能でしょうか?
public class TDATA
{
public string BID { get; set; }
public DateTime day { get; set; }
public int num { get; set; }
}
static void Main(string[] args)
{
var hoge = new List<TDATA>();
hoge.Add(new TDATA() { BID = "A001", day = Convert.ToDateTime("2015/1/1"), num = 1 });
hoge.Add(new TDATA() { BID = "A002", day = Convert.ToDateTime("2015/1/20"), num = 2 });
hoge.Add(new TDATA() { BID = "A001", day = Convert.ToDateTime("2015/2/11"), num = 1 });
}
LINQを調べてみたのですが、条件が複数あると、
なかなか理解できず、よろしくお願いします。
0077デフォルトの名無しさん
2015/10/07(水) 21:58:51.87ID:T1RoiOzFwhere x.day.Year == 2015 && x.Month == 1
group x by x.BID into g;
foreach (var g in groups) {
Console.WriteLine(“BID={0}, Sum={1}”, g.Key, g.Sum(x => x.num));
}
0078デフォルトの名無しさん
2015/10/07(水) 21:59:22.05ID:T1RoiOzF訂正
into g は不要
0079デフォルトの名無しさん
2015/10/07(水) 21:59:54.31ID:7k7eABWe0080デフォルトの名無しさん
2015/10/07(水) 22:01:55.66ID:7k7eABWevar sum = hoge.Where( tdata => tdata.day.Year == 2015 && tdata.day.Month == 1 ).Sum( tdata => tdata.num );
0081デフォルトの名無しさん
2015/10/07(水) 22:06:02.97ID:T1RoiOzFそれだとBIDでグループ化されてないよ
メソッド形式でSumまで一行で書くならこう
var sums = hoge.Where(tdata => 略)
.GroupBy(tdata => tdata.BID)
.Select(g => new { BID = g.Key, Sum = g.Sum(tdata => tdata.num) });
0082デフォルトの名無しさん
2015/10/07(水) 22:45:02.75ID:NHKi3h4oモデルというのはどのように考えればよろしいでしょうか
クローラーを作ろうとしていて、新着一覧のページを定期的にチェックしていて
新着一覧のページには投稿者のIDの一覧があります。
投稿者のIDから投稿者の詳細は別のページで参照する必要があるので、投稿者のIDをキーにしてローカルに保存しようと思うのですが
この時投稿者のモデルはIDだけで作るべきなのでしょうか、それともIDとその他名前等の情報を混ぜて作るべきでしょうか。
IDだけで作ると、投稿者という同じデータなのにIDだけのモデルと、名前等全ての情報があるフルデータのモデルの二種類が出来てしまいます。
名前等全ての情報でモデルを作ると、IDしか分からない段階では名前等のプロパティが空 (null?)になってしまいます。
後者の方が個人的にはいいかなと思うのですが、モデルという物に対して、このモデルはIDしか入っていない あっちのモデルは名前とか全部入っている。だから処理を分ける必要が・・・
というのは許されるのでしょうか
008376
2015/10/07(水) 22:53:54.57ID:sdI3RqNoやはり、LINQを使えば短いコードで
実現出来るのですね。
LINQの理解が低いので、
参考にさせて頂きます。
0084デフォルトの名無しさん
2015/10/07(水) 23:09:28.07ID:1Tzy0x1lわざわざ分ける必要は無いと思う。
とりあえず、IDから名前等々、全部定義したクラスを定義しておけばいい。
データ(オブジェクト)の状態をチェックするプロパティを持たせておいて、取得済みかどうか判定できるようにしておけばいいし、
取得できてない名前とかは、適当に空文字なり返すようにしておけばいい。
0085デフォルトの名無しさん
2015/10/07(水) 23:09:28.12ID:K9vCPUNulinq使いはツール使うことばっか覚えて地頭がクソなやつばっかだからな。
0086デフォルトの名無しさん
2015/10/07(水) 23:19:26.43ID:zlFawCtp0087デフォルトの名無しさん
2015/10/07(水) 23:41:59.93ID:T1RoiOzFそもそも、IDしかわからない中途半端な投稿者オブジェクトを
新着一覧クラスの外に晒す必要があるのかよく考えたほうがいいよ。
新着一覧クラスが投稿者ID文字列のコレクションを公開するのが嫌なら
新着一覧クラス自身に投稿者詳細をダウンロードしてくるメソッドを持たせたっていい。
もちろん賛否両論あるだろうけど、オブジェクト指向に拘るのであれば
オブジェクトから情報を取り出すのはなるべく避けて、オブジェクトに命令していくようにするのが基本。
0088デフォルトの名無しさん
2015/10/07(水) 23:54:33.19ID:ac/t6J3k許されるというか基本中の基本
すべてを1つのモデルに詰め込もうとするともれなく巨大な神クラスが出来上がるぞ
文脈に合った適度な粒度のモデルを必要な数だけ作るんだよ
まずはとりあえず取得と更新を分離しろ
0089デフォルトの名無しさん
2015/10/08(木) 00:27:57.95ID:edkXggJovar page=await NicoUtil.DownloadPageAsync(url);
page.UserIds.Add(userId);
var user=GetProfile(page.UserIds[0]);
user.Id=3945887;
user.IsNicoNamaNushi=false;
user.Description="";
UserDB.Add(user);
0090デフォルトの名無しさん
2015/10/08(木) 00:51:12.57ID:7dJhmaB1IDだけだったらそれはIDでしかないじゃんw
煽り抜きで愚問だね。
0091デフォルトの名無しさん
2015/10/08(木) 02:10:27.33ID:n5xoJkAg0092デフォルトの名無しさん
2015/10/08(木) 21:32:59.63ID:9yien46Kタグを除去してテキストだけを取り出す簡単な方法ありますか?
0093デフォルトの名無しさん
2015/10/08(木) 22:05:59.40ID:O6ws46yp0094デフォルトの名無しさん
2015/10/08(木) 22:22:34.18ID:9yien46K例えば
<label>文字の中に<タグもどき>が有る場合が難しそう</label>
なので、正規表現以外で良い方法有りませんか?
0095デフォルトの名無しさん
2015/10/08(木) 22:51:05.62ID:vx3KIWo30096デフォルトの名無しさん
2015/10/08(木) 23:35:33.54ID:Xn3MaZ8G0097デフォルトの名無しさん
2015/10/09(金) 00:15:53.61ID:oggkbSfr難しいですか?
0098デフォルトの名無しさん
2015/10/09(金) 05:03:09.47ID:DnhlxVQiぐぐれよ
http://www.atmarkit.co.jp/ait/articles/1501/27/news140.html
0099デフォルトの名無しさん
2015/10/09(金) 10:27:53.18ID:oggkbSfr0100デフォルトの名無しさん
2015/10/09(金) 11:13:26.38ID:oOXSiJnlこんなところで釣りをするな
死ね
0101デフォルトの名無しさん
2015/10/10(土) 13:55:22.44ID:PcQrHOFVRectangleだと始点より右下にしかドラッグ出来ません
全方向にドラッグ出来るようにしたいのですがどうすればいいのでしょうか?
ちなみに今のコードは
g.DrawRectangle(Pens.Black, startPt.X, startPt.Y, endPt.X - startPt.X, endPt.Y - startPt.Y);
で startPtはMouseDown時 endPtはMouseMove時のマウスポインタの座標です
■ このスレッドは過去ログ倉庫に格納されています