0からの、超初心者C#相談室

0001デフォルトの名無しさん2020/09/29(火) 07:33:27.30ID:uJP1hHE0
何にも知らない0からの出発、超初心者のためのC#相談室

0044デフォルトの名無しさん2021/10/19(火) 08:49:14.04ID:7/3R28mC
C#でもWIN32APIが使えるみたいなのですが(関数名が若干変わってる?)
そういうのって何処で調べられますか?

WriteProcessMemory→WriteMemory とか関数名が若干変わってるみたいですが

0045デフォルトの名無しさん2021/10/19(火) 09:20:47.70ID:QVwetO4L
pinvoke.net

0046デフォルトの名無しさん2021/10/23(土) 18:39:56.63ID:niq2B5br
>>44
自分でラッパー作る場合にはdllimportして直接win32apiたたくのでメソッド名が
変わることはないよ
win32apiのラッパーライブラリとかだと名前変えていることもあるかもしれないけど、
そういう場合にはライブラリのリファレンスを見るしかないよ

0047デフォルトの名無しさん2021/10/30(土) 19:57:08.78ID:9PrQRZ5E
別のスレでお前がやろうとしてることは古い
WinFormsやれって言われたのでそれをやりたいと思ってるのですが
WPFとかASP.NETとか色々あってWinFormsって具体的に何か分からなくて困ってます
これだよって本があれば教えていただけると助かります

やさしいC#に載ってる↓みたいなコードはWinFormsとは別なんでしょうか
public void Main(){ Application.Run(new Sample());

public Sample(){...............}

0048472021/10/31(日) 01:11:25.26ID:WxgBEHjK
https://ideone.com/eUwGbP

こういうのをやるのはもう古いのでしょうか?
右も左も分からないからよく分からんです…

0049デフォルトの名無しさん2021/10/31(日) 01:30:10.51ID:hGI7wBpw
「winforms」「winforms wpf 違い」などで検索!

知らない単語は、何でも検索すれば良い

0050デフォルトの名無しさん2021/10/31(日) 12:44:42.95ID:o2KSMj79
今朝プログラム始めたばかりのクソど素人なんだが、YouTubeの動画の通りの内容入れてるのに動かない……
Unityで使うプログラム作ってて、数字入れても色が変わらんぞ
https://i.imgur.com/clzs7z6.jpg

https://i.imgur.com/J8BeA7q.jpg

0051デフォルトの名無しさん2021/10/31(日) 13:13:01.98ID:dE1SXutD
>>50
どの動画?
変数名speedって書いてあるけど色を変えるためにいじるの本当にそこで合ってるか?

0052デフォルトの名無しさん2021/10/31(日) 13:51:24.08ID:o2KSMj79
>>51
https://youtu.be/muOOLwfbjfs
これ でも一応?解決はした
色は変わってないけど処理は正常に動いてる

0053デフォルトの名無しさん2021/10/31(日) 18:18:13.12ID:4KbMhR6u
馬鹿には無理

0054デフォルトの名無しさん2021/11/01(月) 08:17:47.62ID:tTytsz1y
ニコニコ動画の弾幕ツールを作りたいのですが何か参考になる動画や資料等ないでしょうか?
別のスレで聞いたら使えそうなクラスとか駆使して作れば良いって言われたけどプログラミング自体入門者なんで検討も付かないです
外人のC#動画漁ってますが中々目的のものが見つからないです
スクリプト言語とかも学ばないと出来んのでしょうか?

https://sites.google.com/site/arktoybox/app
https://sites.google.com/site/nantonaku999/home/fairu-cang-ku2/fairu-cang-ku-2

0055デフォルトの名無しさん2021/11/02(火) 09:46:31.38ID:px0qcy1y
検討→見当
健闘を祈る

0056デフォルトの名無しさん2021/11/02(火) 21:48:24.93ID:4DiwsCtO
>>55
弾幕ツール ソースで検索しても出ないので教えてほしいです
海外とかこういう似たようなツールたくさんありそうですが
なんて検索すれば出てくるか分かりません

0057デフォルトの名無しさん2021/11/03(水) 00:34:27.36ID:DWWBNGex
弾幕 ソース c#

ぐらいのキーワードで出てくるけど

C#とDXライブラリで弾幕STGを作ってみよう! Part1 準備編+C言語の復習編

とか。中身を見ていないけど

0058デフォルトの名無しさん2021/11/05(金) 22:52:20.57ID:0A2FTKj+
上と下の書き方って意味同じなんでしょうか?
読んでる参考書は下の書き方なんですが古い?

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
///////////////////////////////////////////.......


class Sample : Form
{
public static void Main()
{
Application.Run(new Sample());
}

public Sample()
{
this.Click+=...
}

}

0059デフォルトの名無しさん2021/11/06(土) 01:28:24.72ID:Ne1xmpvJ
答えるの面倒なので放置で

0060デフォルトの名無しさん2021/11/06(土) 18:30:18.24ID:rX5zwoy1
質問者も回答者もダメダメなクソスレ

0061デフォルトの名無しさん2021/11/08(月) 12:46:34.40ID:QzkUvy+x
ダメな質問にはダメな解答が付く
それだけ

0062デフォルトの名無しさん2021/11/08(月) 22:39:50.03ID:GdDmjfzH
スレタイ…

0063デフォルトの名無しさん2021/11/18(木) 22:26:56.15ID:Pskhps09
マウスをクリックしたところから離したところまで円を描くだけのプログラムなんですが
endposからstartposを引くとなぜ幅になるのか分からないので教えてほしいです

https://ideone.com/3a6auq

0064デフォルトの名無しさん2021/11/19(金) 07:31:24.03ID:2fcx9B6r
四角形の内接楕円を書くAPIを
使っているから
マウス移動の矩形を計算している

0065デフォルトの名無しさん2021/11/19(金) 17:46:14.32ID:Ju797t+1
>>64
レスありがとうございます
マウスの移動した距離から開始地点を引くと何故図形の高さと幅になるのかイメージ付かないです

0066デフォルトの名無しさん2021/11/19(金) 17:52:43.77ID:2fcx9B6r
開始点と終了点の距離はどうやったら求まる?
更に都市距離だとどうなるか?って話

0067デフォルトの名無しさん2021/11/19(金) 18:21:34.26ID:Ju797t+1
>>66
なるほど
ありがとうございます

0068デフォルトの名無しさん2021/11/25(木) 18:18:45.42ID:Q9Acoyci
画面(の一部)を繰り返し描き換えるときに
Graphicsを何度も再取得、破棄するのは非効率なので
フィールド変数に保存しておいて再利用するようにしていますが
本来はどのように処理するのが正しいでしょうか?

0069デフォルトの名無しさん2021/11/26(金) 07:23:40.66ID:QkPmlroC
ビットマップを保存してpicture.imageに代入

0070デフォルトの名無しさん2021/11/26(金) 18:27:53.24ID:0HqO8vCK
>>68
実際にコード示して説明してもらわないと「非効率」がどういうことなのか「本来」がどんな条件のことなのかわからない。
とりあえず頻繁に設定を変えるものをフィールド変数にして使いまわすのは不具合の原因になりやすい
>>69
おまえは何を言っているんだ

0071デフォルトの名無しさん2021/11/26(金) 20:04:17.67ID:X52eif9+
>>70
超超初心者?

0072デフォルトの名無しさん2021/11/27(土) 16:00:51.33ID:DqeMAIdN
Graphics g;

void begin(){
g = Graphics.FromImage(this.picturebox1.Image);
}

void hoge(){
g.drawline(...)
}

void piyo(){
g.rectangle(...)
}
......

0073デフォルトの名無しさん2021/12/30(木) 11:25:24.15ID:5euK00/Y
・ディスプレイは他のアプリで共有され使用される。
・グラフィックオブジェクトは有限。

よって描画したらすぐ開放が基本動作。

0074デフォルトの名無しさん2021/12/30(木) 16:22:18.94ID:JgkxYzDs
bitmapからもGraphicsは作れるので
描画用のPictureと同じサイズの
bitmap作って書きためておくのは定石

0075デフォルトの名無しさん2022/01/26(水) 18:26:13.79ID:n+JVrXXV
c#プログラマはコンピュータオタクの陰キャ世間の評価。
これ事実だけど。

金髪、イレズミ、冬でも半袖、電車では必ず優先席にすわり、タバコを吸う。

これぐらいの服装規定等を設けて、c#プログラマのイメージアップをはかるべき。

0076デフォルトの名無しさん2022/01/26(水) 21:31:18.03ID:VHvpOZuj
日本語でok

0077デフォルトの名無しさん2022/01/31(月) 18:31:36.09ID:L4QfbPEO
Visual Studio Community 2022 WinForms .NET6で
カスタムコントロールを追加して[デザイン]画面を開くと
Object reference not set to an instance of an object. エラーが出るのですが
.NET6はカスタムコントロールを未サポートということなのか何なのか少し困っています

0078デフォルトの名無しさん2022/02/24(木) 22:02:04.16ID:5ECWerJC
小数点以下の桁数を取得したい
整数になるまで繰返し10を掛けていく方法を考えたけど、丸め誤差が出て上手くいかない
文字列へ変換して文字数を数える方法だと、なにか負けた気がするし、指数表示のときに正常に動作しない

0079デフォルトの名無しさん2022/02/25(金) 01:11:41.28ID:xX3MCg4u
中学生か。高校になるとlog習うからそれまで寝て待て。

0080デフォルトの名無しさん2022/08/02(火) 09:32:25.15ID:nOC+dQpO
public void doXXX<T> (T t)
where T : Control, ISomeInterface
{
 //なんか、やる

 foreach(var c in t.Controls)
 {
  if(c is ISomeInterface c2)
  {
   doXXX(c2);//ここでコンパイルエラー
  }
 }
}

みたいな感じのメソッド作りたいんですけど、どうすればこのwhere制約突破できますか?
dynamicにキャストすれば出来ますが、もっとスマートな方法ないですか?

0081デフォルトの名無しさん2023/05/01(月) 21:48:53.21ID:ZstMad9R
ぼんやりとした質問ですが、

Form1にWebView2が合ったとして、Form2でお気に入りを作って、Form2からForm1の
WebView2にナビゲートしたいんです。

やってみたんですが、Form1にあるはずのWebViewがForm2から出てこないんです。

調べてみたらキャスト?とかいうのが必要らしくて、キャストはちんぷんかんぷんです。

コード書いておくので誰かお助けを~

後Form1のWebview2にアクセスしようとしたら保護がかかってしまいました。
ランタイムを噛ませたりとかよく分かりません。

こんな超初心者の俺ですが、助けてください。

private async Task InitializeAsync()
{
await webView21.EnsureCoreWebView2Async(null);
}
private async void Form1_Load(object sender, EventArgs e)
{
await InitializeAsync();

webView21.CoreWebView2.Navigate("https://web.biz-prog.net/";);
}

0082デフォルトの名無しさん2023/05/01(月) 21:50:30.34ID:ZstMad9R
private void button1_Click_1(object sender, EventArgs e)
{
Form2 f2 = new Form2(this); // 自フォームへの参照を渡す
f2.Show(); // サブ・フォームを表示
}

ここからForm2

public partial class Form2 : Form
{
Form1 f1;
private object webView21;

public Form2(Form1 f)
{
f1 = f;
InitializeComponent();


試して見たんですが、オートコンプリートに((Form1)).webview2が出てきません

0083デフォルトの名無しさん2023/05/02(火) 07:06:52.68ID:874Z+yWP
age

0084デフォルトの名無しさん2023/05/04(木) 10:04:14.22ID:0AZHW5lL
webView2がprivateなのでは?

0085デフォルトの名無しさん2023/08/17(木) 07:15:44.30ID:sfqmTtE1
NullReferenceExceptionには
ArgumentNullException.ThrowIfNullみたいなやつはないの?

0086デフォルトの名無しさん2023/08/25(金) 09:10:33.89ID:HiQAoKOs
>webView21

わらた
こんなのまで21にすんのか

0087デフォルトの名無しさん2023/09/26(火) 09:31:10.92ID:Tr1TWQKz
ちょっと、わけわからんこと言うてんやないか

0088デフォルトの名無しさん2023/09/26(火) 22:08:14.99ID:SH7A7IU6
おいマども、C#程度、教えてやれよw

彼らは君らの競合には決してならんからw

0089デフォルトの名無しさん2023/09/26(火) 22:11:49.80ID:SH7A7IU6
>>46 ラッパ作るときは ドゥルルンポートせず、静的に作るだろ。C#でンポートするのをラッパとはいわん。

0090デフォルトの名無しさん2023/09/26(火) 22:49:58.88ID:SH7A7IU6
>>79 log だけ知ってても仕方ないぞ。

公式は 10進桁数 D= B(2進桁数) log102 の繰り上げ整数値 だが、log102 は浮動小数では完全表現できないので、
その時点で誤差を含んでるといえるが、ただし、公式は「繰り上げ整数値」だ。

つまり、結果が 999999999... 10000000....1 のような値にならない限りは、実用上問題なく、
log102 をかけて、偶然、9999999.... 10000....1 のような結果になることもまずないであろうから、誤差があっても問題がないということだ。

本題の 小数桁取得であるが、色々あるんだろうが、 IEE765 の浮動小数アルゴリズムの、逆をたどって、それを参考にすればよいではないか。

0091デフォルトの名無しさん2023/09/26(火) 22:52:16.32ID:SH7A7IU6
頭の体操になるな。頭の弱い漏れは少し時間かかるな。というかこんなもの作らなくても、数学演算系の関数は、
だいたいこういうのを加味した処理だろうけど。

0092デフォルトの名無しさん2023/09/27(水) 01:23:54.54ID:5mHdvsC4
>>78 やっぱり処理系によっては不可能だな。「〇桁までの入力」という仕様制限をかければ可能だが。

それよりも、C# には Decimal 型ってあるみたい。知らんかった。これは便利だな。構造体らしい。
仮数部が 12バイトらしい。

0093デフォルトの名無しさん2024/01/06(土) 14:29:48.20ID:AYkaYTA3
再利用age

0094デフォルトの名無しさん2024/01/07(日) 14:38:50.85ID:mRBtv8Y9
C#スレ多すぎ

新着レスの表示
レスを投稿する