- WPF中的ComboBox控件几种数据绑定的方式
互联网打工人no1
wpfc#
一、用字典给ItemsSource赋值(此绑定用的地方很多,建议熟练掌握)在XMAL中:在CS文件中privatevoidBindData(){DictionarydicItem=newDictionary();dicItem.add(1,"北京");dicItem.add(2,"上海");dicItem.add(3,"广州");cmb_list.ItemsSource=dicItem;cmb_l
- JAVA·一个简单的登录窗口
MortalTom
java开发语言学习
文章目录概要整体架构流程技术名词解释技术细节资源概要JavaSwing是Java基础类库的一部分,主要用于开发图形用户界面(GUI)程序整体架构流程新建项目,导入sql.jar包(链接放在了文末),编译项目并运行技术名词解释一、特点丰富的组件提供了多种可视化组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、下拉列表(JComboBox)等,可以满足不同的界面设计
- qt 表格中插入一行_Qt在表格中加入控件
唉唉唉哒
qt表格中插入一行
任务:使用QTableWidget动态生成表格,在每行的某两列中加入QComboBox下拉框控件和QPushButton按钮控件有添加,删除,编辑功能,每行的按钮可以浏览文件夹并选择文件1、新建一个对话框QDialog,设计界面中选择Item-Widgets里的TableWidget,添加该控件,命名为tableWidget_userlist2、在Dialog的构造函数中初始化表格的一些参数//初
- 使用store
Sune小叶子
{xtype:'combobox',emptyText:'入场级别',displayField:'enterLevel',name:'GT_ENTRY_LEVEL',fieldLabel:'入场级别',store:{type:'store',data:[{enterLevel:'采购'},{enterLevel:'反物流总成'},{enterLevel:'自制'}]}},
- 【Pyqt】常用控件缩写
kook 1995
pyqt
Buttom按钮(Btn)CheckBox复选框(Chk)ColumnHeader视图列表头(Col)ComboBox组合框(Cbo)ContextMenu快捷菜单(Ctm)DataGrid数据网格控件(Dg)DataGridView数据网格视图控件(Dgv)DteTimePicker时间输入框(Dtp)DomainUpDown数值框(Dud)Form窗体(Frm)GroupBox组合框(Grp)
- WPF之SelectedValue与SelectedValuePath
weixin_30538029
在下拉框ComboBox中,有SelectedValue跟SelectedValuePath这两个属性,我总是搞混,现在写一篇文章来梳理下:1.ItemSource:这个不用多说,数据源,是一个对象列表,在MVVM中,我们常用ObservableCollection来定义ItemSource的对象源;2.SelectedItem:这也好说,选中的对象,这里的数据刚上是上者的T;3.DisplayM
- ListBox等控件的SelectedItem,SelectedValue,SelectedValuePath属性详解
James.TCG
WPFwpf
引言初学WPF可能会对诸如ComboBox、ListBox等集合控件的当前选择项的绑定有所疑惑,控件提供了两个可绑定对象:SelectedItem\SelectedValue,同时还有DisplayMemberPath\SelectedValuePath。本节来讲述一下它们的设计意图和用法。1、SelectedItem与DisplayMemberPath在Winform中,我们经常用到Select
- Qt: QComboBox
大白萝卜不紧张
qtqt
示例1:隐藏某一个下拉选项,并不改变索引序号//QComboBox::view()方法返回的是QListView类型的指针,表示QComboBox中下拉列表的视图部分。QListView*listView=static_cast(ui->combo_box_initial_guess->view());listView->setRowHidden(1,true);//隐藏第一行listView->
- VBA指定工作表并批量复制
阿拉丁点灯
vbaexcel
问题:VBA如何实现指定工作表并批量复制答案:可通过窗体控件实现。具体操作如下:1:新建命令按钮2:创建用户窗体,增加复合框,在工作表中输入以下代码:PrivateSubCommandButton1_Click()ForEachshInWorksheetsUserForm1.ComboBox1.AddItem(sh.Name)NextUserForm1.ShowEndSub此代码可实现指定需要复制
- Visionpro二次开发学习笔记7-使用CogToolDisplay控件
꧁༺℘₨风、凌๓༻꧂
C#visonpro二次开发笔记c#计算机视觉
CogToolDisplay控件可显示与视觉工具记录相关的图像,图形和其他状态信息。它使用CogRecord和ICogTool接口将图像和图形连接到CogDisplay。图片清单控件的CogComboBox列出当前记录及其子记录中的图像和图形。您可以单击列表并选择要显示的图像或图形。如果记录层次结构仅包含一个图像,则CogComboBox被禁用,但显示图像名称。如果没有可用的图像,则CogComb
- python自动化工具之pywinauto_python自动化工具之pywinauto(二)
weixin_39552768
python自动化工具之pywinauto(二)python自动化工具之pywinauto二pywinauto的使用各控件的操作如何匹配控件如何操作控件pywinauto的使用——各控件的操作对于常见的窗口程序,需要点点填填的控件有输入框(Edit)、按钮(Button)、复选框(CheckBox)、单选框(RadioButton)、下拉列表(ComboBox).关于各个控件的函数方法,可以查阅官
- Combobox控件
我不是立达刘宁宇
python
#Combobox控件#通过前面内容的介绍我们知道#Listbox是一个供用户从列表项中选择相应条目的控件#。#但在有些情况下,比如列表的项目过多时,若使用列表控件,列出所有选项就会显得界面格外臃肿,这时就需要用到##Combobox控件,也就是下拉菜单控件(或称复合框),#该控件是列表控件的改进版,具有更加灵活的界面,因此其应用场景相比于前者要更加广泛#不过需要注意的是Combobox并不包含在
- WPF —— ListBox控件、GroupBox控件详解
不爱敲代码的小璐
wpf
1、ListBox介绍ListBox是一个ItemsControl,这意味着它可以包含任何类型的对象的集合(,例如字符串、图像或面板)。一个ListBox中的多个项是可见的,与仅ComboBox具有所选项可见的项不同,除非IsDropDownOpen属性为true。该SelectionMode属性确定一次是否可以选择多个项ListBox。2常用的属性ItemTemplate子项模版标签DataTe
- C# CAD交互界面-自定义面板集-comboBox选择图层
李建军
CAD二次开发c#交互开发语言
运行环境VisualStudio2022c#cad2016一、代码说明SelectLayer方法是一个自定义的AutoCAD命令方法,通过[CommandMethod("SelectLayer")]进行标记。方法首先获取当前活动文档,并检查是否有效。创建一个名为"SelectLayer"的PaletteSet,并设置其样式以显示自动隐藏和关闭按钮。初始化一个ComboBox,并遍历GetLayer
- xaml内容控件
A_nanda
wpf
Window:WPF窗口UserControl:用户控件Page:页Frame:用来浏览Page页Border:嵌套控件,提供边框和背景。Button:按钮控件Calendar:日历、挂历CheckBox:多选控件ComboBox:下拉控件ContentControl:内容控件,可以用于加载自定义UserControl控件DataGrid:数据列表控件DatePicker:日期选择器Documen
- 19.Qt 组合框的实现和应用
都是报错快CV吧
QT学习记录与资源提供qt开发语言uivisualstudio
目录前言:技能:内容:1.界面2.槽3.样式表参考:前言:学习QCombox控件的使用技能:简单实现组合框效果内容:1.界面在ui编辑界面找到inputwidget里面的comboBox,拖动到界面双击或者右键点击编辑项目,就可以添加下拉项在下面的属性里面可以编辑单项的属性,比如图标,文本...也可以代码实现添加,在构造函数里添加ui->comboBox->addItem("项目名称");//在最
- 利用PySide2模块以及Qt设计师(Qt-Designer)设计简易的系统窗体
netexsy
qtpython
一、环境的安装二、外部工具的添加(编译器选择为PyCharm或者Vscode)三、新建ui文件并打开Qt-Designer四、Qt-Designer内不同部件的使用1.Label的使用2.Spacers部件的使用3.TableWidget的使用4.PushButton的使用5.菜单栏的使用6.工具栏的使用7.LineEdit的使用8.ComboBox的使用五、背景图片的添加一、环境的安装1)先切换
- QT QCombox 样式表 比起作用
开心大爆炸
qt前端开发语言
对QCombox在ui编辑器中进行美化,发现外表美化有效果,但下拉框的高度美化的没效果,查看样式表也没有没问题,样式表中内容如下。QComboBox#curve_comboBox{min-width:150px;min-height:40;max-width:150px;max-height:40;border:1pxsolidgray;/*设置边框*/border-radius:3px;/*设置
- qt学习:串口
码农小白
qt学习
头文件#include#include模块QT+=coreguiserialport编程步骤配置一个ui界面,五个QComboBox和一个按钮和一个QTextEdit添加一个成员private:QSerialPort*serial;在构造函数中初始化ui端口列表和串口//获取当前主机上所有可用的端口QListlist=QSerialPortInfo::availablePorts();//将获取的
- Qt 下拉复选框(MultiSelectComboBox)(二) 样式表设置
梦醒梦起
Qtqt开发语言uicss
文章目录本系列目录前言一、VisualStudio下QT项目如何添加资源文件二、样式设计1.样式表的导入2.样式设计三、代码实现四、遇到问题1.下拉框样式不生效2.下拉框透明色不生效,设置圆角后圆角处有阴影3.下拉框弹出显示阴影总结本系列目录Qt下拉复选框(MultiSelectComboBox)(一)实现下拉框多选,搜索下拉框内容Qt下拉复选框(MultiSelectComboBox)(二)样式
- 手把手教你开发Python桌面应用-PyQt6图书管理系统-图书添加模块-图书类别ComboBox下拉框初始化数据实现
java1234_小锋
Pythonpythonwindows开发语言
锋哥原创的PyQt6图书管理系统视频教程:PyQt6图书管理系统视频教程Python桌面开发Python入门级项目实战(无废话版)火爆连载更新中~_哔哩哔哩_bilibiliPyQt6图书管理系统视频教程Python桌面开发Python入门级项目实战(无废话版)火爆连载更新中~共计24条视频,包括:PyQt6图书管理系统视频教程Python桌面开发Python入门级项目实战(无废话版)火爆连载更新
- Tkinter教程22:DataFrame数据加入到treeview树视图(含横纵滚动条+正反排序)
我的Python教程
我的Python教程#Pandas#tkinterPython教程pandas
------------★Tkinter系列教程★------------Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件Tkinter教程20:treeview树视图组件,表格数据的插入与表头排序Python教程57:tkinter中如何执行,单击按钮的单线程操作Python教程56:tkinter中如何隐藏/去掉最大化窗
- Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件
我的Python教程
我的Python教程#tkinterPython教程Tkinter
------------★Tkinter系列教程★------------Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件Tkinter教程20:treeview树视图组件,表格数据的插入与表头排序Python教程57:tkinter中如何执行,单击按钮的单线程操作Python教程56:tkinter中如何隐藏/去掉最大化窗
- Python tkinter (10) ——Combobox控件
JSON_L
#Tkinterpython开发语言后端
本文主要是PythontkinterCombobox下拉控件介绍及使用示例。tkinter系列文章pythontkinter窗口简单实现Pythontkinter(1)——Label标签Pythontkinter(2)——Button标签Pythontkinter(3)——Entry标签Pythontkinter(4)——Text控件Pythontkinter(5)选项按钮与复选框Pythontk
- poi设置excel的预选下拉框
huaishihh
excelspringboot
同一个excel下可以多列使用publicvoidsetExcelComboBox(HSSFWorkbookworkbook,HSSFSheetsheet,String[]data,StringhiddenName,intfirstRow,intlastRow,intfirstCol,intlastCol){ HSSFSheethidden=workbook.createSheet(hidd
- 【WPF.NET开发】优化性能:控件
吉特思米(gitusme)
WPF.NET专栏wpf.net性能优化c#
本文内容显示大型数据集容器回收支持双向虚拟化优化模板延迟滚动实现性能功能的控件WindowsPresentationFoundation(WPF)包含大多数Windows应用程序中使用的许多常见用户界面(UI)组件。本主题包含提高UI性能的技术。1、显示大型数据集ListView和ComboBox等WPF控件用于显示应用程序中的项列表。如果要显示的列表较大,则应用程序性能可能受到影响。这是因为标准
- Python通过Tkinter设计GUI(更新中)
qq_755682240
Pythonpython嵌入式GUI
目录一、Tkinter组件介绍二、Label标签控件1、语法格式如下:2、简单示例:三、Button按钮控件1、语法格式如下:2、简单示例:四、Entry输入控件1、语法格式如下:2、简单示例:五、Checkbutton多选框控件1、语法格式如下:2、简单示例:六、Radiobutton单选框控件1、语法格式如下:2、简单示例:七、Combobox下拉列表框控件1、语法格式如下:2、简单示例:八、
- FireMonkey常用控件
叶深深
FireMonkey是一个跨平台的GUI开发框架,它支持多种平台,包括Windows、macOS、iOS、Android和Linux。FireMonkey提供了丰富的控件,以满足开发者的各种需求。常用的FireMonkey控件有:TButton:按钮控件TLabel:标签控件TEdit:文本输入控件TListBox:列表框控件TComboBox:组合框控件TProgressBar:进度条控件TTr
- Delphi中如何使用TEdit控件和TListBox控件组合使用达到TComboBox控件一样的效果呢?
东北熊孩子
Delphi区DelphiTEditTListBoxTComboBox控件
如何用TEdit控件+TListBox控件实现和TComboBox控件一样的效果呢?首先:向界面拖一个TEdit控件和TListBox控件,将TListBox控件放到TEdit控件正下方。取名分别为:edt1和lstbox。其次:给TEdit控件添加一个OnClick事件或者OnKeyDown事件,例如:OnClick事件。procedureTfmainform.edt1Click(Sender:
- easyui combobox的数据value为0时默认选择此项且提交时不会把这个0提交
mml_慢慢来
easyuicombobox的数据value为0时默认选择此项且提交时不会把这个0提交应该是easyui自己的设定我用的是data数据不是从url调用接口那就最好不要用value为0的数据了呗
- 矩阵求逆(JAVA)初等行变换
qiuwanchi
矩阵求逆(JAVA)
package gaodai.matrix;
import gaodai.determinant.DeterminantCalculation;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 矩阵求逆(初等行变换)
* @author 邱万迟
*
- JDK timer
antlove
javajdkschedulecodetimer
1.java.util.Timer.schedule(TimerTask task, long delay):多长时间(毫秒)后执行任务
2.java.util.Timer.schedule(TimerTask task, Date time):设定某个时间执行任务
3.java.util.Timer.schedule(TimerTask task, long delay,longperiod
- JVM调优总结 -Xms -Xmx -Xmn -Xss
coder_xpf
jvm应用服务器
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
典型设置:
java -Xmx
- JDBC连接数据库
Array_06
jdbc
package Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
//完
- Unsupported major.minor version 51.0(jdk版本错误)
oloz
java
java.lang.UnsupportedClassVersionError: cn/support/cache/CacheType : Unsupported major.minor version 51.0 (unable to load class cn.support.cache.CacheType)
at org.apache.catalina.loader.WebappClassL
- 用多个线程处理1个List集合
362217990
多线程threadlist集合
昨天发了一个提问,启动5个线程将一个List中的内容,然后将5个线程的内容拼接起来,由于时间比较急迫,自己就写了一个Demo,希望对菜鸟有参考意义。。
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
public c
- JSP简单访问数据库
香水浓
sqlmysqljsp
学习使用javaBean,代码很烂,仅为留个脚印
public class DBHelper {
private String driverName;
private String url;
private String user;
private String password;
private Connection connection;
privat
- Flex4中使用组件添加柱状图、饼状图等图表
AdyZhang
Flex
1.添加一个最简单的柱状图
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
<?xml version=
"1.0"&n
- Android 5.0 - ProgressBar 进度条无法展示到按钮的前面
aijuans
android
在低于SDK < 21 的版本中,ProgressBar 可以展示到按钮前面,并且为之在按钮的中间,但是切换到android 5.0后进度条ProgressBar 展示顺序变化了,按钮再前面,ProgressBar 在后面了我的xml配置文件如下:
[html]
view plain
copy
<RelativeLa
- 查询汇总的sql
baalwolf
sql
select list.listname, list.createtime,listcount from dream_list as list , (select listid,count(listid) as listcount from dream_list_user group by listid order by count(
- Linux du命令和df命令区别
BigBird2012
linux
1,两者区别
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
- AngularJS中的$apply,用还是不用?
bijian1013
JavaScriptAngularJS$apply
在AngularJS开发中,何时应该调用$scope.$apply(),何时不应该调用。下面我们透彻地解释这个问题。
但是首先,让我们把$apply转换成一种简化的形式。
scope.$apply就像一个懒惰的工人。它需要按照命
- [Zookeeper学习笔记十]Zookeeper源代码分析之ClientCnxn数据序列化和反序列化
bit1129
zookeeper
ClientCnxn是Zookeeper客户端和Zookeeper服务器端进行通信和事件通知处理的主要类,它内部包含两个类,1. SendThread 2. EventThread, SendThread负责客户端和服务器端的数据通信,也包括事件信息的传输,EventThread主要在客户端回调注册的Watchers进行通知处理
ClientCnxn构造方法
&
- 【Java命令一】jmap
bit1129
Java命令
jmap命令的用法:
[hadoop@hadoop sbin]$ jmap
Usage:
jmap [option] <pid>
(to connect to running process)
jmap [option] <executable <core>
(to connect to a
- Apache 服务器安全防护及实战
ronin47
此文转自IBM.
Apache 服务简介
Web 服务器也称为 WWW 服务器或 HTTP 服务器 (HTTP Server),它是 Internet 上最常见也是使用最频繁的服务器之一,Web 服务器能够为用户提供网页浏览、论坛访问等等服务。
由于用户在通过 Web 浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而 Web 在 Internet 上一推出就得到
- unity 3d实例化位置出现布置?
brotherlamp
unity教程unityunity资料unity视频unity自学
问:unity 3d实例化位置出现布置?
答:实例化的同时就可以指定被实例化的物体的位置,即 position
Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object
这样你不需要再用Transform.Position了,
如果你省略了第二个参数(
- 《重构,改善现有代码的设计》第八章 Duplicate Observed Data
bylijinnan
java重构
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusE
- struts2更改struts.xml配置目录
chiangfai
struts.xml
struts2默认是读取classes目录下的配置文件,要更改配置文件目录,比如放在WEB-INF下,路径应该写成../struts.xml(非/WEB-INF/struts.xml)
web.xml文件修改如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class&g
- redis做缓存时的一点优化
chenchao051
redishadooppipeline
最近集群上有个job,其中需要短时间内频繁访问缓存,大概7亿多次。我这边的缓存是使用redis来做的,问题就来了。
首先,redis中存的是普通kv,没有考虑使用hash等解结构,那么以为着这个job需要访问7亿多次redis,导致效率低,且出现很多redi
- mysql导出数据不输出标题行
daizj
mysql数据导出去掉第一行去掉标题
当想使用数据库中的某些数据,想将其导入到文件中,而想去掉第一行的标题是可以加上-N参数
如通过下面命令导出数据:
mysql -uuserName -ppasswd -hhost -Pport -Ddatabase -e " select * from tableName" > exportResult.txt
结果为:
studentid
- phpexcel导出excel表简单入门示例
dcj3sjt126com
PHPExcelphpexcel
先下载PHPEXCEL类文件,放在class目录下面,然后新建一个index.php文件,内容如下
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('
- 爱情格言
dcj3sjt126com
格言
1) I love you not because of who you are, but because of who I am when I am with you. 我爱你,不是因为你是一个怎样的人,而是因为我喜欢与你在一起时的感觉。 2) No man or woman is worth your tears, and the one who is, won‘t
- 转 Activity 详解——Activity文档翻译
e200702084
androidUIsqlite配置管理网络应用
activity 展现在用户面前的经常是全屏窗口,你也可以将 activity 作为浮动窗口来使用(使用设置了 windowIsFloating 的主题),或者嵌入到其他的 activity (使用 ActivityGroup )中。 当用户离开 activity 时你可以在 onPause() 进行相应的操作 。更重要的是,用户做的任何改变都应该在该点上提交 ( 经常提交到 ContentPro
- win7安装MongoDB服务
geeksun
mongodb
1. 下载MongoDB的windows版本:mongodb-win32-x86_64-2008plus-ssl-3.0.4.zip,Linux版本也在这里下载,下载地址: http://www.mongodb.org/downloads
2. 解压MongoDB在D:\server\mongodb, 在D:\server\mongodb下创建d
- Javascript魔法方法:__defineGetter__,__defineSetter__
hongtoushizi
js
转载自: http://www.blackglory.me/javascript-magic-method-definegetter-definesetter/
在javascript的类中,可以用defineGetter和defineSetter_控制成员变量的Get和Set行为
例如,在一个图书类中,我们自动为Book加上书名符号:
function Book(name){
- 错误的日期格式可能导致走nginx proxy cache时不能进行304响应
jinnianshilongnian
cache
昨天在整合某些系统的nginx配置时,出现了当使用nginx cache时无法返回304响应的情况,出问题的响应头: Content-Type:text/html; charset=gb2312 Date:Mon, 05 Jan 2015 01:58:05 GMT Expires:Mon , 05 Jan 15 02:03:00 GMT Last-Modified:Mon, 05
- 数据源架构模式之行数据入口
home198979
PHP架构行数据入口
注:看不懂的请勿踩,此文章非针对java,java爱好者可直接略过。
一、概念
行数据入口(Row Data Gateway):充当数据源中单条记录入口的对象,每行一个实例。
二、简单实现行数据入口
为了方便理解,还是先简单实现:
<?php
/**
* 行数据入口类
*/
class OrderGateway {
/*定义元数
- Linux各个目录的作用及内容
pda158
linux脚本
1)根目录“/” 根目录位于目录结构的最顶层,用斜线(/)表示,类似于
Windows
操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件。 2)/bin /bin 目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要
linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、d
- ubuntu12.04上编译openjdk7
ol_beta
HotSpotjvmjdkOpenJDK
获取源码
从openjdk代码仓库获取(比较慢)
安装mercurial Mercurial是一个版本管理工具。 sudo apt-get install mercurial
将以下内容添加到$HOME/.hgrc文件中,如果没有则自己创建一个: [extensions] forest=/home/lichengwu/hgforest-crew/forest.py fe
- 将数据库字段转换成设计文档所需的字段
vipbooks
设计模式工作正则表达式
哈哈,出差这么久终于回来了,回家的感觉真好!
PowerDesigner的物理数据库一出来,设计文档中要改的字段就多得不计其数,如果要把PowerDesigner中的字段一个个Copy到设计文档中,那将会是一件非常痛苦的事情。