我希望能够使用面板或类似工具将图形绘制到Winform上.如果图形变得比控件大,我似乎无法看到有关添加滚动条的任何内容?
是否可以使用面板执行此操作,或者是否存在允许它的类似控件?
谢谢.
Visual Studio在其输出面板中自动显示dll加载/卸载,如下所示:
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\wbem\fastprox.dll'
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\ntdsapi.dll'
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\wldap32.dll'
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\wbem\wbemsvc.dll'
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\wbem\wbemprox.dll'
'DialogAppDEBUG.exe': Unloaded 'C:\WINDOWS\system32\wbem\wbemcomn.dll'
Run Code Online (Sandbox Code Playgroud)
无论如何暂时禁用此功能?当通过DebugOutputString()进行大量调试时,这些消息总是倾向于将我的打印件从面板上移开,我不得不四处寻找它们,这使得这个过程变得更加麻烦.我用Google搜索并搜索了我能想到的所有VS选项,但无济于事......
我在Windows窗体的面板上动态生成控件,我还生成了一个用于删除控件的按钮,所有控件都在行中.
int c = 0;
private void button1_Click(object sender, EventArgs e)
{
int v;
v = c++;
panel1.VerticalScroll.Value = VerticalScroll.Minimum;
ComboBox combo = new ComboBox();
combo.Name = "combobox" + v ;
combo.Location = new Point(30, 5 + (30 * v));
ComboBox combo2 = new ComboBox();
combo2.Name = "combobox2" + v ;
combo2.Location = new Point(170, 5 + (30 * v));
TextBox txt = new TextBox();
txt.Name = "txtbx" + v;
txt.Location = new Point(300, 5 + (30 * v));
TextBox …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Bootstrap的网格系统来完成左侧的图像,同时能够让内容(文本和其他引导程序组件)填充到右侧的空间.我遇到的唯一问题是我无法将文本放到我想要的位置.
文本"STUFF"代表内容.我希望将内容放在图像的右侧而不是下面(下面显示的方框区域).我尝试使用网格系统来实现这一点,但我要么做得不正确,要么我不能使用这种方法.

我正在使用Twitter Bootstrap 3.0.2版.我的HTML代码出现在下面(借用效率低下的代码,我正在使用它来玩)我正在使用Bootstrap .css和.js文件,以及一些与我的问题无关的小编辑.
附加信息:我使用2个HTML页面(多么荒谬,对吧?),1(较亮区域)在另一个(主页/较暗/外部区域).我提供的HTML代码是内页面的代码.
另外,我想知道如何<hr>在图像和内容之间建立"水平" .
<!DOCTYPE html>
<html>
<head>
<title>TITLE</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
</head>
<body style="background-color: #F0F0F0; padding-top: 15px">
<div class="panel panel-default" style="margin-left: 15px; margin-right: 15px">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-2">
<img src="http://placehold.it/140x140" class="img-rounded" style="width: 100px; height: 100px">
</div>
<div class="col-md-10">
STUFF
</div>
</div>
</div>
</div>
<hr>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="../../assets/js/bootstrap.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 首先,免责声明,我正在使用.net 3.5的virtualizingstackpanel.如果您在将来的版本中有不同的行为,请告诉我.使用listviews设置测试用例相对简单,您可以对其进行测试.
我在virtualizingstackpanel中有一个itemcontainer样式,它将属性IsSelected绑定到viewmodel.
当我在视图模型中选择一个未选择的项目在屏幕外,然后滚动到该项目时,datacontext(viewmode)和实际listviewitem都将IsSelected属性设置为true(预期行为).触发器正确应用于listviewitem突出显示它.
但是,当我取消选择不在视图中的项目的datacontext然后向下滚动直到该项目在视图中时,在到达项目并创建它时,项目的datacontext现在具有IsSelected = true并且listviewitem的IsSelected属性也为true ,因此listviewitem以触发器中的选择矩形结束(不正确的行为).
这几乎就像ListViewItem的属性在创建项目时都被恢复一样(这对我来说很有意义,但是之后他们应该将datacontext的值绑定到项目之后).
但这似乎并没有发生.此外,未能取消选择该项目并向后滚动以找到它.如果我然后选择/取消它,绑定对该项目没有影响.
我在视频模型中选择一个在屏幕外的项目而不是在我取消选择屏幕外的项目时,看不出它为什么会起作用的逻辑原因.在这两种情况下,新创建的项目都需要反弹到viewmodel的当前值.但是,一个有效,另一个没有.
任何帮助或想法将不胜感激.
编辑:好的,所以我只是不能使用回收模式和绑定似乎.谢谢devhedgehog.会给你赏金,但你需要一个答案.我发誓我之前尝试过,但也许我之前没有处理绑定列表视图中的点击事件,所以我打破了物理选择或其他东西的绑定.我确实记得在某一点尝试过这两种模式,但可能还有其他干扰,所以它不起作用.无论如何它现在有效.
既然你提到了它,我想最好避免保留不必要的代码并继承virtualizingstackpanel而不是虚拟化面板.但我希望能够设置水平滚动范围,这需要我重新实现Iscrollinfo.但是,我无法让virtualizingstackpanel与iscrollinfo进行良好的交互
<ListView
x:Name="TestLV"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Background="Green"
ItemsSource="{Binding Path=AddedItems, Mode=OneWay}"
SnapsToDevicePixels="True"
VirtualizingStackPanel.VirtualizationMode="Recycling"
VirtualizingStackPanel.IsVirtualizing="true"
ScrollViewer.IsDeferredScrollingEnabled="False"
Grid.Column ="4"
MouseDown="TestLV_MouseDown"
>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="IsSelected" Value="{Binding Path=IsSelected, Mode=OneWay}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Grid
x:Name="SignalGrid"
Background="Transparent"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border
Name="Bd"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="true">
<ContentPresenter
x:Name="PART_Header"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
/>
</Border>
<ItemsPresenter
x:Name="ItemsHost"
Grid.Row="1"
Grid.Column="0"
/>
</Grid> …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用overflow-x:scroll&white-space:nowrap创建一个带有(平铺)背景图像的水平滚动窗格.该窗格跨越任意数量的元素.
CSS:
.frame {
overflow-x: scroll;
}
.pane {
background-image: url(free-tile-floor-texture.jpg);
background-repeat: repeat;
white-space: nowrap;
}
.item {
display: inline-block;
width: 150px;
height: 50px;
background-color: grey;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div class="frame">
<div class="pane">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望背景图块自动跨越窗格的整个宽度,包括其所有项目元素.目前它只填充框架宽度.罪魁祸首似乎是窗格宽度属性 - 它不会调整窗格内容的总宽度.
Ofc,它通过手动调整width属性来工作,但我需要它动态调整.
如何获取窗格的背景图像以填充窗格的全宽?还有另一种方法可以达到同样的效果吗?
每次我在Visual Studio(2005)中查看表单或对话框时,"属性"和"工具箱"窗格都会显示在屏幕的右侧.这很好,因为它们对于操作对话框很有用.
然而,一旦我切换回源代码,这些窗格就会妨碍...有没有办法让它们自动消失?
ide visual-studio-2005 panel visual-studio-2008 visual-studio
我有System.Windows.Forms.Panel一些内容.
我试图以编程方式向上或向下滚动面板(垂直).
我已经尝试将该AutoScrollPosition属性设置为Point面板上的新属性,但似乎没有这样做.
我将AutoScroll属性设置为true.
我甚至试图在这里设置VerticalScroll.Value两次,但这似乎也不起作用.
这就是我目前正在做的事情:
//I have tried passing both positive and negative values.
panel.AutoScrollPosition = new Point(5, 10);
Run Code Online (Sandbox Code Playgroud)
AutoScrollPosition上的X和Y值保持为0和0.
任何帮助或方向将非常感谢它.
提前致谢,
马尔万
根据Github的讨论,无法定位标准对话框(api),但可以定位面板对话框(api).
一个简化的演示表明,这是真的:
var position = this._mdPanel.newPanelPosition().bottom(0).right(0);
Run Code Online (Sandbox Code Playgroud)
的角材料文档显示方法,其允许相对于所述点击的元素的定位(或任何传入).但是,我无法让它工作.
var target = el.target;
var position = this._mdPanel.newPanelPosition().relativeTo(target);
Run Code Online (Sandbox Code Playgroud)
在用于硬值传递.top()和.right(),例如,允许相对于视定位.但是,我无法获得相对于被点击元素的定位.这应该怎么样?
我正在为Flow布局面板添加一些控件.在某些控件之间我需要一个换行符.我怎么能实现这个目标.谢谢
panel ×10
c# ×5
winforms ×4
angularjs ×1
css ×1
grid ×1
ide ×1
javascript ×1
modal-dialog ×1
nowrap ×1
overflow ×1
scroll ×1
stackpanel ×1
vb.net ×1
wpf ×1